Personalmente ipotizzando che il tuo footer sia alto <nnn> pixels farei così (non l'ho mai testato ma potrebbe andare)
body {
position: relative;
height: 100%;
padding: 0 0 <nnn>px 0;
}
#footer {
position: absolute;
left: 0;
bottom: 0;
height: <nnn>px;
}
e ad ogni modo al posto dei pixels userei gli ems in modo da permettere il ridimensionamento del testo
Se proprio non va, ecco cosa propone google
http://www.webmasterworld.com/forum83/1120.htm
http://www.thescripts.com/forum/thread99664.html
http://skeletorscorpse.com/joomla/content/view/142/34/