de esta forma crece tanto el div 3 como el 4 dependiendo lo que tenga.. lo demas tiene tamaño estatico.. no se si es lo que quieres..xD
Código HTML:
<div style="height:auto; width:800px;">
<div style="width:200px; float:left; background-color:pink;">
<div style="height:400px; background-color:black;"></div>
<div style="height:auto; background-color:yellow;">
asd<br />asd<br />asd<br />asd<br />asd<br />asd<br />
</div>
</div>
<div style="width:600px; float:right; background-color:purple;">
<div style="height:100px;">
</div>
<div style="height:auto;background-color:brown;">
asd<br />asd<br />asd<br />asd<br />asd<br />asd<br />
asd<br />asd<br />asd<br />asd<br />asd<br />asd<br />
asd<br />asd<br />asd<br />asd<br />asd<br />asd<br />
asd<br />asd<br />asd<br />asd<br />asd<br />asd<br />
</div>
</div>
<div style="clear:both"></div>
<div style=" width:800px; height:100px; background-color:red;">
</div>
</div>
funciona tanto en IE como FF
suerte :P