Naja, sauber und schön wird das nicht ganz möglich sein, da sich der Mittelteil ja ändern kann. Ein "Workaround" wäre es, dass die vertikale Scrollbar in diesem sitzt, was aber eher pfui als hui ist. Manche Browser blenden die vertikale Scrollbar des Browser-Fensters nicht aus, d.h. du hättest dann unter Umständen zwei nebeneinander. Und dass man das will bezweifle ich mal dezent
Du könntest aber auch position: fixed für den Footer nutzen. Wobei ich dazu sagen muss, dass das bei manchen Browsern/mobilen Systemen (wie das iPad oder das iPhone z.b.) nicht funktioniert.
Wie Frederic schon gesagt hat: lass den Footer einfach da anfangen, wo der Content aufhört. Oder
musst du den Footer unbedingt dauerhaft im Sichtfeld haben?!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)