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/