While potentially difficult, it's probably possible to do a smooth selection over multiple pages by:
I think that this will be handled across with all other scrolling issues. The best thing to do IMO is bring scrolling as close as possible to native terminals found in modern OSs (e.g. Ubuntu Terminal and Terminal.app).
hterm handles this really well but only has the currently displayed viewport in the DOM. We should see how they implement it.
We could mimic the way https://github.com/codemirror/codemirror does it. This could also help with #77.