>>58563168It was definitely a technical decision.
It wasn't that they were unable to program it, but rather that GameFreak was running out of time, and the "dumb" implementation of giving EVERYONE a custom moveset would've taken too much time and been too expensive on their ROM budget. There are 351 trainers fights on the damn cartridge, that's a fucking lot of data to store.
The compromise they settled on is pretty restricting, but keeps them from constantly reconsidering movesets, and also kept storing light on the cartridge for both trainer data and the complex code required to load said trainer data with abstract movesets.