There's a game called Pokemon Ash Gray, where you play as Ash and company from the anime, so doing somethng like that probably isn't impossible. I don't really like Ash Gray, though, because it has a lot of really specifically programmed events that you have to trigger by not evolving your Pokemon, catching certain Pokemon, having certain Pokemon in your party, going to certain areas, interacting with certain machines, etc. The game is impressive, as it follows the anime pretty well, a lot better than Pokemon Yellow, where you are basically Red, just with a Pikachu, but it has many many very specifically programmed events for the player to trigger. Catch the wrong Pokemon or have the wrong ones in your party, and you may not trigger all of the events.
Again, in short, yes, you could probably do that, but if you want it to be like the anime, you may have to program a lot of really specific events into your scripts.
As far as how to do that, I can't really tell you; I'm still trying to figure out how to correctly write the "ghost" event in Pokemon Tower, where all of the Pokemon spotted turn up as uncatchable ghosts the Pokemon are afraid to battle, yet the trainer battles proceed as usual.
To make it more of a unique experience, you could have it so you have two or more dependent events following you around, but when you enter a trainer battle it randomly chooses who you double battle with (if at all) with random variables and other criterion that runs right before the battle.