If you set $Trainer.outfit to a number, Essentials will look for the player graphics with that number suffixed to the end.
For example, it usually uses "trchar000.png" and "boy_run.png" for Red's walking and running sprites. When you set $Trainer.outfit to 2, it will look for "trchar000_2.png" and "boy_run_2.png" (and then fall back to the default names if it can't find those).
I use this method in my game to make sleepwear for the player character.