Allora
@firstbit questo è il problema con il posizionamento assoluto. Gli elementi vengono eliminati dal flusso della pagina, quindi in realtà non ci stanno e dunque il browser ha ragione a far estendere il container fino a lì.
Quindi la cosa da fare è riprogettare un po' il tutto con criterio. Innanzi tutto la questione del box-model è vecchia e stravecchia (è internet explorer 5 che non lo supporta) quindi basta solo un po' di accortenza e fila tutto liscio.
Dai una larghezza al container e imposti i margini laterali ad auto
#container {
margin: 0 auto;
width: 960px /*o quello che vuoi*/
}
Poi inserisci header e link, che non devono far nulla
Utilizzi il float:left per sidebar e content, avendo cura di inserire una larghezza
#sidebar, #content {float:left;}
#sidebar {width:160px;}
#content {width:800px;}
Poi dai il clear:both; al footer
#footer {clear:both;}
permettendo così al container di estendersi fino a lì.
Ho fatto tutto a mente, però grossomodo dovrebbe funzionare. Se ci sono problemi facci sapere