<div class="inner-left"></div> <div class="inner-right"></div>
.main {position:relative}
.main > .left {width:220px;position:absolute;left:0px;top:0px;z-index:1;}
.main > .right {margin-left:220px;}
.main > .right > div {float:left;width:50%;}
.main > .right > .inner-left {padding-right:10px;}
.main > .right > .inner-right {padding-left:10px;}
I to powinno wystarczyć. Dodatkowo musisz pamiętać, że jeśli chcesz zrobić margines w ten sposób to musisz użyć box-sizing:border-box;, bo box-sizing:content-box nie bierze pod uwagę paddingów i się te dwa DIVy w środku włożą pod siebie.
EDIT: Musisz jeszcze dodać takie coś, by div.right miał wysokość najwyższego DIVa w środku:
.main > .right:after {display:table;content:" ";clear:both;}