4 moves from their level up list, 1 egg move and 1 TM
Honestly more limiting than just sticking to the 4-moveslot limit imo. For trainers more or less at the end of their journey, where those moves come from shouldn't matter that much.
The problem with free-move is that I just don't want people to go "aha, my pokemon does x super effective move" all the time because they have access to other moves. It defeats the purpose of type matchups if everyone just writes the equivalent of an "I win" button.
I've actually read some fanfics that write battles without the 4 moveslot limit, and while super-effective coverage moves are a common enough occurrence at higher levels of battle, they usually aren't the main focus of a battle's matchup. There's much more of the alternate ways of writing that you mentioned earlier available when pokémon have wider toolkits. Using moves to dodge or cover distance (2-turn moves, priority moves, vaguely mobility-based moves such as Acrobatics or Zing Zap) is an obvious one, though there's also a lot of emphasis on the state of the field (e.g. with liberal use of Stone Edge tearing it up or Surf turning it muddy) or even combination attacks which, with no moveslot limit, no longer comprise at minimum, half of everything your pokémon can do. One of the fics I've read resolved the issue of back and forth switching becoming an issue (besides league limitations or metaphorical sucker-punching being commonplace despite the additional issue that it may not make much sense given field sizes and trainer aim) by making it common for trainers to use setup moves during a switch, which might otherwise be hard to pull off safely in the middle of battle due to the time it takes to execute, and whereas readying an attack can just end in the opponent dodging. Even beyond the obvious stat-boosting setup moves, it also sometimes allows more niche moves like Magnet Rise to shine.
One way I've seen the move limit addressed is that it is thought of as a limitation mainly for novice trainers, with more experienced pokémon (or more experienced trainers) able to (and expected to) train their ability to remember more moves, with talented pokémon able to (effectively) use up to 10 or so at the champion level. There's variance, with different pokémon being better at different things.
In general I prefer larger movepool limits because I think it allows for a lot more creative freedom, (it also stops pokémon from being relatively one-note and usually gives them multiple "modes" of battle) and think that forum RPs are the best place to try out the wacky things we can't get from the pokémon company or even fangames, but I'm also down with the 4-moveslot limit in this instance mainly because I think Kaison's team is significantly stronger when people have less options to work with. That's probably true for most gimmick strategies, though the downside is that the pokémon lack the flexibility to do anything but that gimmick.
In any case, to reiterate what Yankee said:
Let us know if you do end up wanting people to choose specific moves and add them to the CS.