If you are going to use the parallel port for Mach then you will need a slotted disc (1 slot) and an optical sensor, I use the Optek OPB 917B.
If you are going to use something like the SmoothStepper then you could use a real encoder that has an index pulse, but unless you have a servo motor for the spindle that already has an encoder (with index pulse) fitted then its really overkill to get an encoder especially for this.
The BOB of preference for me is the PMDX 122, very good quality and although it doesnt have a huge amount of onboard extras (only 1 relay) thats the way I prefer things as less chance of noise IMO.
Hood