I used to do it like this:
using a socket of suitable size. knock the metal sleave down off the wire circlip.
Hammer a small (2 - 3mm wide), fairly sharp chissel (screwdriver?) under one end of the circlip (Wrap a rag around the whole thing to protect your hand).
Once one end is free, do the same the other end then the middle.
Once the circlip has been pushed down the shaft toward the motor in this way, it has usually stretched enough to then be prised back up past the circlip groove and off the shaft. several attempts may be required and you want that rag around it all again or you will be searching your shed for that circlip, they don't half ping off!
Squash the circlip back into shape before refitting.
If you are putting the motor in a vice to hold it. DO NOT over tighten as you will shatter the ferrite magnets and are then looking at £200 of knakered starter motor. Make some wooden V blocks to grip the motor casing in the vice. nothing fancy just some wooden bricks with a wide V saw into them will do.
I'm guessing your nylon starter gear is worn away? This is usually caused by a poor condition battery, as a low charge/powered battery cannot spin the motor fast enough to start the motor easily so it sloggs round for longer wearing the gear away. don't be tempted to fit a metal gear, they are not the same gear pitch and you'll windup needing a new flywheel too.
Jules
July 2010