to make this it will need a new table in the database, where it will contain:
playerId, pokeId, PokeName, PokeNick, Sex, Level
The onLook will return "You see a pokeball, it contains [pokeNick] [Sex] Level:[#](PokeName) inside it." or if pokemon is out side, "You see [pokeNick] [Sex] Level:[#]" optional if they want to add (PokeName).
That can be a beginning and with that it avoids Trade Scam, also they can make, like someone said a Name Rater NPC, in which he will be able to change the pokemons nickname, for a fee of course.