In case you can use JQuery and not only CSS this can do the trick:
example
You can calculate the height of each element dynamically and then add a top-margin to element b.
element b margin top = height of a - (height of b + height of c)
HTML
<div class="a">A</div>
<div class="left-column">
<div class="c">C</div><br />
<div class="b">B</div><br />
</div>
JQuery
$(function(){
var ah = $('div.a').height();
var bh = $('div.b').height();
var ch = $('div.c').height();
$('div.b').css('margin-top',ah-bh-ch + 'px');
});
CSS
.left-column{
float: right;
}
.a{
float: right;
width: 300px;
height: 400px;
background-color: #7E0C89;
color: white;
font-size: 30px;
}
.b{
margin-right: 5px;
float: right;
width: 100px;
height: 100px;
background-color: #F4CBF7;
color: white;
font-size: 30px;
}
.c{
margin-right: 5px;
float: right;
width: 100px;
height: 100px;
background-color: #BF72E9;
color: white;
font-size: 30px;
}