Zubat.
Nothing is more annoying than having to go through a cave where there are Zubats and you run out of repels.
Other than Zubat, I would have to say the roaming pokémon like the legendary bird trio.
Having to track down the roaming pokémon is so annoying. You can't even trap them with Mean Look since they'll always find a way to escape the battle.
As for the most annoying trainer pokémon, it's definitely Whitney's Miltank.
i'd say psyduck. he waddles around with a big-a** headache, you can't do anything about it until it gets to the point where he uses a special move for no reason!