Here's one method.

Create a dummy printer queue, which always has printing suspended.

Poll the queue every x minutes, and if a job arrives which is under the maximum page count move it to the users local printer, otherwise move the job to the high capacity printer.

I'm assuming that there is a scriptable "move print job" call [Smile]

The problem with this is that the dummy printer, local printer and high capacity printer will all need to use the same printer driver.

Another method would be to change the printer port used for each print job, but I can see quite a few problems with controlling that one.