I'm pretty sure there's just a switch somewhere in the save file to determine which protagonist you picked to play the game (how else would they display his/her portrait next to the in-game save?). That is what I need to edit on the fly.
From what I've seen, in some games, if the character you have is tied to game events you get (and the game is programed to read it this way) there may be multiple things you need change then in the save file in order to have the character swap you want. Or if that "tie" is only when you select the character and the first event starts AND the game no longer checks that, maybe you can swap characters afterward. If the game events you get are not tied the character you have, then it will be easier to make the character swap you want provided you find the offset that controls what character you are playing as and change the values to that of a different character (you may also need to find a separate offset to do that for the portrait as well but that depends on the game). Based on what you described, you may have to do this. If your fortunate enough, it will be just a single offset that you need to find and see what values give you what character (you may even find additional playable characters that are not normally accessible in game by toying around with he values).
So yes, I guess I could save state in the same starting stage, but with different protagonists. That should narrow down the search a lot if the stage is the exact same...
Exactly!
Though if I somehow manage to find a switch or some such, how do I locate it in the normal save file?
Once you have both save files (I suggest making back ups) you can view them both in a hex editor such as Hexworkshop and have the editor compare both save state files. For the differences it finds, take the value(s) of one save state and put them in the other (just make sure you know which save state has what). If your fortunate, there won't be that many differences and the one you need will be easy to find. If there are many differences, you have to test and change them one or two at a time, save the changes you made to the save state, load the game in the emulator, load the save state and see if it made the change you wanted. If not, go back to hexworkshop and repeat the process with the next difference you find.
You can keep hexworkshop open as you are doing all this as well as the save state files you are modifying within hexworkshop. Just save the changes you make, but keep the file open in the program. Then go back to the emulator and load the game form the save state to see if that change you wanted took place. That's how I do it when I want to find something. For some games you may need to make the game load/reset data to see the changes you made (which sucks).
The thing is, if the dialog is is fucked up, you may need to find other things to change as well to have that fixed. Or if you pick a character that is not normally supposed to be playable in a specific stage AND there is no dialog for that character on that stage programmed in the game, you may be screwed as the game will either crash while trying to find dialog for your character or just display "junk" in the dialog box. But I don't know if your game is like that. Hopefully all you need is to change one thing to get the results you want and you can switch characters as you please by modifying the save state.