Hay muchas formas de solucionar eso, algunas usan javascript y otras trucos mas simples...
Mi favorita es usar en "cuerpo" un background que haga las columnas visualmente**, y los divs izquierdo t texto los pones sin preocupaciones, pues "cuerpo" crecerá hasta donde se encuentre el contenido mayor. (siempre y cuando pongas un div con clear:both antes de cerrar el "cuerpo").
** Por ejemplo una imagen que tenga X pixeles de un color a la izquierda y el resto del otro color, y eso lo repites hacia abajo.
fijate por ejemplo en esta página:
http://www.publicum.com.mx/index.php
Ahi uso esta técnica