im pretty sure stats, name etc can be loaded whenever with a little asm. But the models themselves may require battle to be restarted. I dunno.
As for more than 3 being on screen at one time. Not likely.
Hardware-wise, it's probably not difficult to have an additional character. Engine/mechanics wise it would be exceptionally difficult to add a party member to the battle line-up. There are too many places where it's assumed that there are only three ally characters.
I do think all the methods are in place to do a hot-swap, but there are some things to consider.
1. Remove the old character. Not hard as I mentioned earlier. Several actions do this so it's possible to remove the old character.
2. Load new character's model. Vincent's limits have routines that can do this.
3. Build the new character's menu. Battle Arena uses routines for this purpose.
4. Set new character's stats. Again, Battle Arena has these methods.
5. Create a new menu in-battle that can swap out-of-party characters. I don't do new menus, but I'm sure someone can.
6. End-battle rewards would not work for the character(s) that were swapped out. Only the ones at the end of the battle would get EXP/AP/killing credit/etc. Kill credit/limit use would have to be reset for the new character or they would get credit for the old character's actions. Like if Tifa killed 2 enemies and used a limit once before being swapped out for Aerith, Aerith should NOT get credit for Tifa's actions, but Tifa wouldn't get credit either as these things are awarded during battle rewards (a bug that does need to be addressed).
7. Cloud must never be swappable, Tifa and Cid shouldn't during their stints as leader either. That would be a little more difficult, but probably only by disabling the swap menu when the Game Moment is in a particular range.