>>36449255Those Pokemon are actually in the call list for random encounters but aren't programmed to show up anywhere. The issue with giving every trainer Pokemon a proper moveset is that it eats up memory, not that it's difficult to program. Since you fight Blue like 5 times, he'd need a huge number of unique Pokemon moveset lists and it would take up a hell of a lot of space.
Gym Leaders they got away with using a mix of generics and uniques, since you only fight each Gym Leader once.
By Gen 2 they had figured out how to just do one list for each Pokemon and instead of having unique instances of Pokemon for every trainer, they just had them call certain moves on their complete Level/TM movelists, which saved a ton of space.