As far as I know, you cannot add two onclick handlers to an element at all.
Say obj is an element then the property onclick of obj is considered a function and then called as a method whenever that event occurs. If it's not a function nothing will happen.
JavaScript inherited from Scheme a very interesting property, in JavaScript, you don't define functions as in PHP or C. You create anonymous functions and store them in a variable. Javascript is 'Lisp-1', there are no function identifiers, there are variables, which can house numbers, arrays, and functions.
function name(arg) {return arg;}
Is if I'm not mistaken truly sugar for:
name = function(arg) {return arg;};
'name' here is a variable, we can also re-asign it no matter how we defined that function. Unlike Java's object model, in Javascript, a 'method' is purely a property, a variable that simply holds a function that may or may not use the 'this' keyword. This is why you can't have two onclick event at the same time. The runtime environment simply calls the property (which is expected to house a function) of the element called 'onclick' whenever you click on it. See it as the same ad hoc type behaviour of calling 'main' to start a program.
To assign multiple event handlers, you use a function with a side effect, like.
obj.onclick = function {firstEvent();secondEvent();}
To change or remove it, we re-assign or de-assign it like any variable.
obj.onclick = null;
And in case we need to invoke that behaviour in another way:
obj.onclick();
We can also use this in that function of course to change the object itself or reference it.
Edit: Oh wait, I see now that you mean wih 'a button' many different buttons.
Well, then you just collect all elements like:
allElements = document.getElementsByTagName('*');
And then you use a loop:
var i = 0; while(obj = allElements[i++]) obj.onclick = null;
(and no, that single = is not a typo)