Io farei cosi`:
codice:
html, body {
width: 100%; /* necessario, altrimenti il 100% di sotto non ha significato */
}
#over {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%; /* puo` essere anche di piu` */
background: #00ff00;
z-index: 100;
}
#contenuti {
position: absolute;
top: 0;
left: 0;
width: 100%;
background: #ff0000;
z-index: 10;
}
...
<body onload="document.getElementById('over').style.zIndex='1';">
Poi tutto il resto del sito dovra` stare dentro #contenuti: ecco perche` deve essere largo 100%.
Sull'altezza di #contenuti invece non credo puoi definirla fissa: eventualmente puoi definire un'altezza diversa (maggiore) per #over, in modo che risulti sempre piu` lungo di #contenuto.