Ma guarda non mi è chiaro cosa fa la funzione (ti dico la veritàm sono anche assonnato in questo momento), il fatto è che 6 cicli annidati sono proprio da evitarsi come opzione concettuale, anche se fanno pochi cicli.
Inoltre ci sono delle stranezze:

numero = new Array();
numero[1] = 1;

E' una cosa legittima, ma perchè non indicizzi a partire da zero? Di solito si fa così. Ora, non è che io sia un programmatore ligio alla ortodossia, anzi. Ma non vorrei che in questo caso più che originalità eterodossa del tuo codice si tratti invece di sviste.
Peraltro, sarebbe più semplice:

numero = new Array(1,2,3,4,5,6,7,8,9,10);
in talcaso alert(numero[0]) resitituisce ovviamente 1. Ho capito che tu cerchi la simmetria fra chiave e valore, ma in javascript e in programmazione in generale questi isomorfismi (scusa il parolone) non hanno senso: il programmatore sa che il numero ad esempio 7 si trova all' indice 7-1

Il problema, come ti diceva Vindav, è che non si capisce l'obbiettivo del tuo codice. Forse se provi a riformulare - magari non rispondo io ma aiuterà qualcun altro.
ciao!