So I got a version of the plan up and running.
It doesn't work exactly as planned, but it
does work...
So this is what will happen:
When the conditions are met for a Chocobo battle (that is, if you're in the forest and the randomization returns true), the screen will go black for a brief moment, then you'll enter a battle with three Imps and a Chocobo (chocobo forest music will play in the background).

The Imps are regular Imps and the Chocobo is, well, he's basically invincible. He has the max possible HP, and his defense and magic defense are 255. If you attack the chocobo, it will counter attack, which will likely kill the offending party member.

If you kill the three Imps, then the Chocobo will say "Kweeh!!!" and the battle will end.

The screen will go black for a moment again, except it will say "A Chocobo!" at the top of the screen.

This screen only lasts about half a second, but is absolutely necessary. I'll explain later.
Then the world map will reload and you'll have a chocobo!

So why does it happen this way, and not exactly as I originally planned?
Well it turns out that if you cue a battle event the way I had planned, the game has no idea which map to load afterward. The implication of this fact was that the only possible outcomes of the chocobattle would be dying or catching a chocobo. So instead of a "scaredy" chocobo, like in FFVII, you get an "ass-kicking" chocobo who will kill you if you don't catch him.
But then the next problem arose...
Did you ever notice that, no matter which chocobo forest you enter, the game knows where to put you when you mount the chocobo? Well, that's because the game stores (somewhere) in RAM the x,y location on the world map of the last cave/town/chocobo forest, etc that you entered. When you mount a chocobo,
that's how it knows where to put you.
So the problem I ran into was, after the chocobattle was over, I'd be riding my chocobo starting from Fabul - because that was the last location I entered - instead of wherever the battle took place.
The solution - the Chocobattle event begins with loading the "Black castle background" map, effectively entering a location,
then the battle begins. I had to change the location name of black castle background to "A Chocobo!" so that the displayed message would have relevance.
Of course, now that I'm typing this out, I'm having a brainstorm... What if I can just find the place in RAM where the Overworld x,y is stored?

... Another update coming soon!