Infatti con javascript ho risolto, ma speravo potessi usare solamente i css.

Grazie comunque.

Se a qualcuno interessa ho modificato il codice in:

<html>
<head>
<script>
function Inizializza() {
document.getElementById('contenitore').style.heigh t=document.body.clientHeight-80;
}
function Tempo() {
setInterval("Inizializza()", 1);
}
</script>
<style type="text/css">
html,body{
margin:0px;
}

.header {
width: 100%;
height: 40px;
background: #ffcc00;
font-size:20px;
}

.footer {
width: 100%;
height: 40px;
margin-left:0px;
background: #ffcc00;
font-size:20px;
}

.menu {
width: 30%;
height: 100%;
float:left;
background: #aaaaaa;
font-size:20px;
}

.list {
width: 70%;
height: 100%;
float:right;
background: #cccccc;
font-size:20px;
}
</style>
</head>
<body onload="Tempo();">
<div id="contenitore">
<div class="header">HEADER</div>
<div class="menu">MENU</div>
<div class="list">LIST</div>
<div class="footer">FOOTER</div>
</div>
</body>
</html>

Il SETinterval l'ho inserito nel caso uno madifichi la grandezza della finestra.