I have thought about trying 2d animation in Blender, but never found the time for it. (Hmm… lacking time in general
First, you could try to ‘simulate’ 2D by using NPR e.g. Freestyle. You’d make the anim as a 3D setup but achieve a 2D look and feel by rendering it that way.
Second, IMO you should not try to simply duplicate methods you’d use in Toon Boom of Flash (or any other 2D proggie), but make up your own techniques and approaches, because than you can take advantage of the fact that Blender is of course a 3D program. I think it could give you much more possibilities then just working in 2D.
You would of course have to come up will all kinds of tricks and workarounds for things that are easily done in a 2D application.
For the 2D eye example you could try a shadeless material on a UV sphere. Make it white and assign a black color (also shadeless) to the top part to make the pupil. Use an Track-to constraint to make the eye follow an empty and you have a simple rig.
The pupils need not to be masked, but simple rotate out of view with the sphere
And yes, this not really 2D but I think with shadelss materials rendering it would look very 2D
If you really wanna stick to a 2D approach, I think a method could be found in the compositor, but I wouldn’t exactly know how.
Or just use a 2D app. like Toon Boom or Flash