i can make sephiroth playable at anytime, even before getting vincent (before you aquire vincent sephiroth takes up the place of his data, this is why when you use black chocobo to put sephiroth into your party early in the game it works fine but if you did it later in the game after getting vincent it doesn't work because after you get vincent, sephiroth loses his data slot)
Sephiroth shares a slot with vincent so when you get vincent, sephiroths data gets overwritten and becomes unplayable
Cait sith shares a slot with young cloud so when you get cait sith, young Cloud's data gets overwritten and becomes unplayable
its easy to work around this though, i can make it so sephiroth or young Cloud can replace any character and not just vincent or cait sith by either editing in game or editing a save to do so.