Can i make a stepper motor stop at 120° increments?
You are limited by the resolution of the motor (and driver, if the latter is a micro stepping type).

For example if you have a 1.8 degree motor and a driver that does not micro step then you would want to move 66.67 steps to have it rotate 120 angular degrees. Since that's not possible, one approach would be to step 67, then 66, then 67. That way there would be a slight error in the positions but it would not accumulate- 300 increments would result in exactly 100 rotations of the motor shaft.  

The same issues will arise with a micro-stepping drive, but with smaller errors. 

You have a choice with the hold-  if you keep the motor energized you'll have high holding torque, but it will consume more power than if you de-energize the motor.

Edit: Note that the motor itself will have some accuracy, with no load and as you approach the holding torque the error will increase to something like half a step. So perhaps +/-10%~30% of one step. If you're using a 7.5 degree motor and it's unloaded the error might be +/-0.8 degree. If you are off by 1/3 of a 1.8 degree step and it's unloaded the error might similar (a bit less). At heavy loading the the finer steps will be considerably more accurate. Here is a more detailed datasheet of a typical motor. 

Note: I more-or-less ignored your statement of 'exactly' but nothing is really exact in engineering. If you want close to the best accuracy achievable you could use a servo with a good encoder (Renishaw or whatever) and you could get to maybe +/- 1 arc second using feedback from the encoder, but it would cost about as much as an automobile.