Well, this could end up being a lot of work.
Not really to cache the pages, but to store them as they could be many.
You'd need one html file per topic page, and you would not have access to old post URL unless you add one more html page per post.
This could end up being impossible to deal with depending on the amount.
We could call a cache file from within php, for example base on the topic id, if it's smaller than the highest to have been cached, load the cache. The advantage would be to be able to even load (and why not redirect to topic) post url, but it's quite some code change. And all these cached page should thus be locked prior to cache, because they'd not be dynamic anymore.
Don't you have another option ?
Because all this could relieve the SQL server a bit, and Apache as well, for all the text parsing, but still, the more file the more work.
And it would only be a temporary measure, the only lasting strategy is to upgrade hosting and to optimize phpBB.
Did you know the phpBB tweaks for large forum thread