per il margine superiore il problema sembra essere il tag "h1"
è elemento di bloco e crea il margine..
si risolve inserendo nel css questa stringa
h1{ color:#FFFFFF;
display: inline;}
display:inline fa si che FF lo consideri elemento inline e non block..
p.s. vado per esperienza, non per sapere, quindi magari sbaglio...se altri corregono, sono benvenuti...
---
per qunato riguarda l'altezza, la differenza è che IE considera parti dell'elemento anche i margini e il padding (che qua erano creati da h1) per cui sembra più alto..invece FF, che interpreta i CSS correttamente, assegna il valore di altezza che hai indicato te: 120px..se vuoi un'alteza maggiore devi cambiare il valore..
---
per annullare lo spazio tra tab e sottomenu usi display: inline su div#sottomenu ul, direi..però così mangi tutto il margine tra i due div...
---
per la centratura modifichi nel css l'id "menu:
div#menu{
....
margin-left: 40px;
}