First question: No, I would not use a shift register for step and direction. You may not have to control the step mode pins with software. In most applications these would be set in hardware.Second question: Most stepper motors are 200 steps/rev. 1/2 stepping mode gives you 400, 1/4 gives you 800, etc. It is very much like shifting gears in a car. Full stepping gives you the most speed, microstepping gives you more resolution and smoother motion. Beyond 1/8 stepping there is no real resolution gain, however, because the motor cannot accurately position itself that finely. You will get smoother motion however. Hope that answers your questions.