Hola:
Cuando el div 2 crece, inevitablemente empuja hacia abajo el div 3 porque no hay nada que lo contenga.
¿Intentaste utilizar una tabla de 3 columnas y darle el ancho al TD?
por ejemp:
Cita: <table id="table" cellSpacing="0" cellPadding="0" width="750px" border=1>
<tr>
<td width="10%"><div>contenido1</div></td>
<td width="100%"><div>contenido2</div></td>
<td width="10%"><div>contenido3</div></td>
</tr>
</table>