La funzione che puoi usare e` SORT.

Per fare una cosa fatta bene, credo che devi costruire una tua funzione da richiamre nel sort, ma puoi anche fare un sort semiautomatico, prima secondo il Nome e poi il Cognome.

Chiaramente il sort lo farai sulla matrice piu` esterna, passando al sort le varie sottomatrici e i campi opportuni.

Ti faccio un esempio, ma non ho tempo per testarlo.
codice:
// definizione matrice
var matr = new Array(7);
for(var i=0; i<matr.length; i++) {
  matr[i] = new Array(5);
  ... qui devi scrivere qualcosa nella matrice ...
}

// sort
matr = matr.sort(ord1);
matr = matr.sort(ord0);
alert('fine ordinamento');

function ord1(a,b) {
  if(a[1] > b[1]) return 1;
  if(a[1] < b[1]) return -1;
  return 0;
}
function ord0(a,b) {
  if(a[0] > b[0]) return 1;
  if(a[0] < b[0]) return -1;
  return 0;
}
Studiando un po' la funzione, si potrebbe anche fare tutto in un colpo solo.