It all comes downto what the definition of stopping and stopped is, in the scope of the application. This is key because it is related to your load.
There are three options (four if you expand one of them to cover one of your two cases)
1. Mechanical brake
I am adding this here for completeness as in some applications this is the only way to ensure a "locked rotor"
2. Shorting the windings (your option #1)
This will stop the rotor but will not apply zero speed torque (again related to your load). Assuming this motor is a PMDC,BLAC,BLDC type (ie some form of permanent magnet is present) this is a viable method, assuming you do not need zero-speed torque while it is stopped AND you can tolerate some movement at low-speed (ie it might not be stopped)
movement at low speed?
Take a motor:
0.1R phase resistance
Kt = Kw = 0.1 (Nm/A, V/w)
with no rotor movement there is no terminal voltage which mean no stator current flow (for shorted windings) which means there is no opposing torque generated
Once the rotor starts to turn then torque will be generated BUT it can turn.
1rpm = 0.1047rad/s
=> 0.01V at the terminal (w*Ke)
=> 0.1 Amps flowing (V/R)
=> 0.01047Nm of opposing torque
The faster the rotor starts to turn, more torque is generated to oppose it, but it will turn.
3. PWM the bridge
You have suggest high frequency PWM to provide an average voltage? that will not help for a net torque on the shaft and it will still rotate.
However, it isn't far off what is a viable option if you have to not only stop the rotor but maintain zero speed opposing a given load.
With a current control loop and a speed control loop (you already know angular position from information in the original post) you can provide 50% duty to the terminals for zero-speed (for zero load).
If a load is presented to the rotor, this will put a disturbance into the speed and the current loop and as such the duty will change from being 50% to say... 45% to ensure there is a net-current flow opposing the load presented to the rotor.
Such a control would need PI control on the speed & current loop and as such will have a bandwidth that it can respond to load changes.
Depending on specifics of your situation #2 might be the simplest and suitable given your loading