Yes. You'll need to adjust how quickly the PWN tries to converge on the desired frequency.
If you make the change too great, it will cause overshoots in the feedback loop, and will cause the motor speed to be herky-jerky.
As for how to increment the duty cycle, you can change it by a fixed amount through each IF loop, or you can change it by a fraction of the discrepancy.
I would use the latter method. As a starting value try using one half of the discrepancy, whatever it is. This should leave some space for the motor and load to adjust.
How often should you perform the IF loop? It depends on which method you find works better... whether to count revolutions per millisecond, or to count milliseconds per revolution.
Also as to what degree of speed accuracy you need. Say you need 1 percent accuracy. Then you'll need to obtain sufficient time resolution to get a consistent reading per 100 commutations (or revolutions, or whatever sensing method you implement).