I don't know the details, but I'm guessing that the 3DS lets you pull sprite packs for any older pokemon into each new game? Yeah, I can understand why they're not setting it up so they have to implemented 3D animated and rigged models for the entire 800, just for the like 2% of players who will want any specific one, and who will be satisfied that they pulled all 800 pokemon into the new game for all of 2 minutes before they get bored with it.
Sometimes if you pander to specific groups of players you end up losing money, and then they won't have the resources or backing to many any more Pokemon games. Having a reboot with a more limited stable of pokemon actually makes it more accessible to new players, which they need to make future games commercially viable. If they launched Pokemon on the switch with all 800 Pokemon at launch, and a very small subset of players all instantly had the whole stable, while all new players were facing a game where you have to collect and upgrade 800 critters, then new players would find this overwhelming and not be able to "collect them all" without hundreds of hours of grinding.
So, it's not just the cost of adding the Pokemon, it's that creating a base game with 800 collectable critters is a really bad game design decision from the get-go in terms of how it's treating your different types of player-base. For example, fill me in on how this works: if you bought the last 3DS pokemon game do you get access to all 800 Pokemon, or just the ones from that game, and you're able to import all the others from previous games? If they did that on the Switch, then they'd have to make all the 3D assets and animations for 800 pokemons, then lock them away so that nobody can access them unless they import them from previous games. Or, they could have all 800 unlocked for everyone. Both these options suck for new players, for different reasons.