While I agree with all of this in theory, I think it's probably reasonable for people writing shellscripts today to assume the presence of `less`. It was even in SunOS 5...
`more` may have been improved over time, but to the best of my knowledge it still doesn't do everything `less` can, like switching to tail mode with `F` while viewing a log file. FreeBSD doesn't even ship `more` anymore (anyless?), I don't think - `man more` shows the manpage for less. So I think this is a case where literally, "less is more".
I confess I haven't used `pg`. Debian doesn't even provide it.
Including bash-isms in a supposedly portable script is definitely beyond the pale, though 😉