Sí puedes usar defineProperty para declarar métodos.
    
Código Javascript
:
Ver originalObject.defineProperty(Array.prototype, "equal", {
    value: function(e)
    {
        return !( this < e || e < this );
    },
    enumerable: false
});
 
var array = [[6,3],[1,2]];
for( var i in array ) 
    console.log( array[i].equal([1,2]) );
  
Javascript no permite sobrecarga, pero hay formas de emularla mediante el número de argumentos y su tipo.