PWM? Absolutely.
PWM Frequency? Around 20 kHz. Below this, the motor will make a brain-dissolving whine. Above this is OK, but the higher the frequency, the higher the switching losses.
Topology? (I'm rolling the rest of your questions into this) Yes, two H-bridges, with current sense on each bridge. It would be best if you could control the FETs in both recirculating and non-recirculating mode. The recirculating diodes are important - don't depend on the FET's body-diodes unless you verify that they are fast enough.
Recirculating mode is where you PWM only the bottom (or top, if you prefer) FETs, such that the current recirculates through the top (or bottom) FET and recirculating diode when the PWM switch is off. This mode is best for holding a constant current. It uses less power, creates less heat and has less ripple. Use this when standing still.
However, when you are running at high speed, you need the current in the winding to attack and decay quickly, and this is where you would switch to non-recirculating mode. You would PWM the appropriate diagonal pair to better overcome the motor's inductance and leave the the other pair off. You could also PWM all four fets, in a complimentary fashion, as a more aggressive way to control the current (but with more heat and more current-ripple).