Replacing frames is tricky if the different frames use different style sheets, JS and what not.
If that is not an issue in your case and you can just copy the relavent part of the HTML from the three frames to one new HTML page with three vertical DIV's of some sort then I would suggest that you use something the overflow technique that you described. Position them absolutely with a width of 33% and a height of 100%.
You could use floats, but that might result in all kinds of annoying issues. In yoru case I'd go for position: absolute
<div class="c c1">
loooooong content
</div>
<div class="c c2">
loooooong content
</div>
<div class="c c3">
loooooong content
</div>
.c {
position: absolute;
width: 33%;
height: 100%;
top: 0;
overflow-y: scroll;
}
.c1 {
left: 0;
}
.c2 {
left: 33%;
}
.c3 {
left: 66%;
width: 34%;
}
here's a jsfiddle: http://jsfiddle.net/9CAYb/