The highest possible number of experience points that can be gained in a Single Battle is 457,970. This can be done by defeating a level 100 Blissey in a Trainer battle, using an internationally traded Pokémon at level 1 that is holding a Lucky Egg, with Exp. Point Power ↑↑↑, S or MAX active. This means that given these conditions, a Pokémon could technically advance from level 1 all the way to level 87 in a Single Battle, provided that it was in the Erratic experience group.
-A Pokémon in the Fast experience group would advance to level 83.
-A Pokémon in the Medium Fast experience group would advance to level 77.
-A Pokémon in the Medium Slow experience group would advance to level 76.
-A Pokémon in the Slow experience group would advance to level 71.
-A Pokémon in the Fluctuating experience group would advance to level 69.
[Source: Bulbapedia]