Я бы сделал это примерно так:
http://jsfiddle.net/Xfmdr/
.column { display: table-cell; }
.column:nth-of-type(1) { vertical-align: middle; }
#green { background: green; padding: 30px; margin: 10px;}
<div id="container">
<div id="left" class="column">
<div id="green">div</div>
</div>
<div id="right" class="column" >
<p>Lorem Ipsum </p>
</div>
</div>
Для справки, вертикальное выравнивание - это боль в гайкахв CSS.Посмотрите эту очень полезную статью о том, почему я выбрал отображение в качестве ячейки таблицы для этого варианта использования.http://phrogz.net/css/vertical-align/index.html