If minimal code size is the goal, then PBP is a LOT of work.
Reducing gosubs is not always the best rule, unless you are getting rid of the subs that were only added to make the code more "readable". If you can insert a few subroutines to eliminate duplicate code, they are very helpful.
One thing to do is eliminate as many built-in basic commands as possible. For instance, hserout is very inefficient. You can manually load your values into the TXreg and save a lot of space. The ADCIN command is probably even worse.
Bookmarks