ti sei spiegato benissimo... conosco il JAVA e so cosa vuol dire estendere una classe...
ho cercato di spiegartelo ma forse mi sono spiegato male
allora:
ArrayFico = Array;
/* eredita tutte le caratteristiche di Array */
ArrayFico.prototype.pop = function(..) { ... };
/* aggiungi nuovi metodi alla classe estesa */
aF = new ArrayFico("pippo","pluto","topolino","minnie");
aF.length; //funziona
aF.pop(); //funziona
cosa vuoi di più dalla vita?
per la prima domanda
this.value = new Array();
qui lo stai trattando come un Oggetto...
con gli array dovresti solo fare
this[intero] = ...;
se provi a fare un "for in" te ne rendi subito conto
ciao!