So, this is something someone asked me to change in my cheat injector just a little while ago. Here's the EXP formula for wild areas.
Code:
if (wildcount != 0):
$ expvalue = 5
if (location == "alley"):
$ expvalue = 9
elif (location == "seaport"):
$ expvalue = 12
elif (location == "mountain"):
$ expvalue = 17
$ exptotal = math.floor(pow(expvalue, 3) / 25 * min(3, (1 + wildcount / 10)))
narrator "You have won [wildcount] consecutive battles, so your party will gain [exptotal] experience each. (There are no bonuses after 20 consecutive battles.)"
if (GetHighestLevel() > AimLevel() + 3):
narrator "{color=#f00}Note:{/color} Pokémon that have significantly more experience than is expected right now may receive less."
Meaning, there's no increase in exp gained depending on wild pokemon level in the wild areas. It's solely dependent on the area. Also, since min(3, (1 + wildcount / 10)) can never be more than 3, there's no point in fighting more than 20 fights. So the best thing you can do for gaining EXP (for the wild area) is fight 20 wild pokemon, leave and then go back to the wild area.
If you're wondering what the change that they asked for, it was to remove the exp cap in the wild area.
*DISCLAIMER* I don't actually play the game. There might be better ways to gain EXP besides wild areas. This is just what I know from hacking the game.