- crea una variabile _self come ti ha suggerito rsdpzed
- Utilizza quella invece di this (perché "this" può cambiare in base al contesto)
- non passare la funzione _self.sit ad un metodo jQuery perché jQuery ne cambia il contesto.


codice:
function Table(n){

	var _self = this; // soluzione

	this.number=n;
        this.user=Array();
        this.button=$("#table_1").find(".sitdown");

	this.button.bind("click",function(e) {_self.sit()}); // <----- non chiamare direttamente la funzione
	this.li.each(function(index, element) {
            _self.user.push($(element).text()); primo problema
        });
}
Table.prototype.sit = function(){
	// do something
}

La soluzione proposta da mxa credo sia anche valida, ma la funzione "bind" (nativa) non è supportata da Internet Explorer 8 e inferiori. Quindi dipende dal tuo target (potresti anche trovare una patch per IE e usare il metodo di mxa)