1. A lookup table constructs your output waveform. Say, taking a 180° table of 36 points you can have the table increment (Via an Index Counter) such that the whole 36 are repeated every 20mS=50Hz. Now if you offset the count with 12 and 24 (120°) you get the other two phases. Generally the increment of the table index will come from a timer interrupt so varying that offset gives you a variable frequency drive.
2. It depends upon your switching devices and power levels. Commercially available IGBTs with power level of 75Amps/1200V can be hard switched to about 20KHz then switching losses increases. However MOSFETs (Not the SiC ones, boy they are expensive) offer lower voltage level but higher frequency can be hard switched. For motor drives with 3rd Harmonic Injection for Vboost, I would not recommend a PWM Freq more than 20Khz.