На js можно, например, так (для кроссбраузерности добавить эмуляцию getElementsByClassName и getComputedStyle)
<style>
.left {
width: 20%;
background: lightgrey;
margin: 2%;
float: left;
}
.right {position: relative;
width: 20%;
background: red;
margin: 2%;
float: left;
}
</style>
<div class='left'>
left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left
</div>
<div class='right'></div>
<div style="clear: both"></div>
<div class='left'>
left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left<br>left
</div>
<div class='right'></div>
<script>
window.onload = function () {//onload begin
var setAlign = function () {
var lefts = document.getElementsByClassName('left');
var rights = document.getElementsByClassName('right');
var length = lefts.length;
var height;
for (var i = 0; i < length; i++) {
height = getComputedStyle(lefts[i]).height;
rights[i].style.height = height;
}
};
setAlign();
window.onresize = function () {
setAlign()
}
}//onload end
</script>