I think it would be a good idea to add unlockable pokemon level states. When you reach level 25, 50, 75 and 100 you unlock level states on a pokemon and by visiting a certain NPC you may load those level states at any time. That NPC can make your pokemon level 25, 50, 75 or 100 if you've already reached those levels. When you load the state, your pokemon won't earn any exp, its moves will stay the same (or not) as they were before loading. It would be mainly used for tournaments, since your best pokemon can't really compete in most tournaments due to the level caps and you don't really want to keep your best pokemon low leveled.