I think ender dragon riding would be fun and if it is possible it would be great. to control it you right click with a saddle and you can just move it where you want
I know with one of the voxel plugins you can ride anything that moves. Forget which one it was, but if you're looking to control the dragon.. good luck lol.
You could use reflection to alter the underlying notch code. You could inject your changes to override the current movement pattern that notch uses. There are however only a handful of developers on these forums that know how to do that without causing memory leaks and/or security holes.
I have a theory that if you use citizens plugin or players you can control mobs by changing the mobs target... not sure how hard it would be to make GHOST players or other enitys but i know trageting is easy