What I've seen implemented on vB
, and something I like is while you're viewing a thread spanning multiple pages, is some dynamic form of paging.
There'll always be a link to "First" and "Last. And if you're on page 4, you'd see "First", 2, 3, 4 (with some form of highlight or lack of a hyperlink telling you that's the current page), maybe three pages directly after the current page, and a last...
So if a thread would have 25 pages, I'd see (as an example):
First, 22, 23, 24, 25, 26, 27, 28, Last.
Something along those lines? :)