Можно конечно примерно так, но это тоже не выход! Лучше конечно с массивом.
Object.prototype.length = function(){var x=0;for(i in this) x++; return x-1};
var obj = {
'one': '1',
'two': '2'
}
alert(obj.length());
alert({'1': '1','2': '2',3:3}.length());
Правда теперь у объектов есть новое свойство length которе будет куда не надо влезать