It is possible, but Essentials is not built for multiple protagonists, so there may be a lot of latent bugs. And it will require some amount of coding, so if that's not your thing, you should rethink the design.
Here's some details to help: The player protagonist is an instance of PokeBattle_Trainer stored in the $Trainer global variable. (Every trainer you battle is initialized into a PokeBattle_Trainer before the battle, but the player's character is the only one that sticks around after a battle in an unmodified Essentials game.)
The PokeBattle_Trainer class holds a trainer's party, their id, their trainer type, their badges, money, and pokedex information. It does NOT hold their bag or items. The player's bag is stored in a PokemonBag object stored in the $PokemonBag global variable. (The Pokemon and Item Storage systems are stored in separate variables still, but if the second character never has the chance to access a PC, then you won't need to worry about those.)
So, in order to set up a new player character, you simply need to create new PokeBattle_Trainer and PokemonBag objects, stored off somewhere. You can make new pokemon with whatever moves, IVs, items, backstory, whatever that you want and slot them into the trainer object's party array. You set the trainer's name by simply assigning a string to the object's name property (DO NOT use pbTrainerName, as that has a lot of side effects).
When you want to switch to the secondary character, assign the contents of the $Trainer and $PokemonBag variables to another variable, in some place that will be saved, like a global variable. Then assign these secondary trainer and bag objects to the $Trainer and $PokemonBag variables. From that point on, the player has switched to the other character, including name, trainer id, badges, party, etc. To switch back, it's the same swapping around variables.
I don't want to give any concrete code until I've tried this protagonist swapping myself (because there's bound to be a few dozen bugs from latent variables). I've used spare PokeBattle_Trainer for a "living rival" system I'm playing around with for my own game, so I know the trainer stuff works.