My favorite middle stages have to be Grovyle, Ivysaur, Wartortle, Vigoroth, Braixen, and Dragonair.
Just to clear up something...In the Pokemon world the first stage (Charmander, Pikachu, Hitmonchan just to name a few) are called basic Pokemon. The next stage is called stage 1 (Electrivire, Ivysaur, Braixen) and the last is called Stage 2 (Charizard, Togekiss Sceptile). And a few Basic pokemon have baby forms that are not identified as basic (Snorlax has Muchlax, Pikachu has Pichu, Magmar has Magby). Just wanted to help with the terminology. I know this confuses alot of people I talk to about it.