Love_uca la solución debe andar por ahi por donde tu dices, pero yo no soy capaz de encontrarla. El último código que has enviado sigue teniendo un height 400px en #cuerpoprincipal, y por tanto no se autoajusta.
He hecho varias pruebas con el tema del alto porcentual y variando el overflow, pero no consigo avanzar.
Lo más lógico en mi opinión, sobre la base
del último código tuyo, es poner el height de #menuderecha y #menuizquierda en auto, y jugar a probar distintas combinaciones con el height y el overflow del #cuerpoprincipal y #celdaprincipal. Las que yo he probado no funcionan para conseguir el objetivo: que el pie de página se adapte automáticamente a los bloques superiores.