0x2yy gets the highest leveled pokémon in the party and sets all trainers pokémon/wild pokémon levels to that value plus yy.
Additionally, yy can be zero as well, however I think it will be good to make it 4 or 3...
The reason I'm saying the highest is because of two reasons
a) Usually if you balance out the levels in your party, almost all the Pokémon will be of the same level, so no problem arises there
b) Sometimes people might be intent on training ONE Pokémon and that alone and take the rest as HM Slaves or placeholders for Revives, etc. so average wont work up here. Neither will minimum.
Also, if it was equal to or lower then the game gets easy no matter what so, yeah.
This IS keeping in mind that the method can be switched using ASM, like at times we would want to change them to a specific level temporarily.
And about the Pokémon gettable thing, I'll give you a little tip:
You just take random Pokémon as you progress if you feel they are fit for the game / are used explicitly somewhere (eg - gyms). After getting a reasonable amount, compile the Regional Dex (I believe Jambo found out how to fix the various bugs of the Pokédex, including the evolution and half-word filter).
Then, as you go along the post-game (when everything is DERPIZARD), just put up again what you feel fits in for gym rebattles/post-elite four wild Pokémon/post-elite four trainer modifications/ post-story maps.
Then, with the various Pokémon remaining, stuff them into the game into the less important maps and also as random events (for eg - "Here have an egg, take it." or "Aw, [player], look at this lost Pokémon will you take care of it?" etc.)
Also keeping in mind that the nighttime Pokémon are scheduled, it will be fairly easier to do the "stuffing in the maps" part.
-------------EDIT------------------
So what will you do about the eyepatch?