I used to work in building automation and quite often we would need to vary the output of a heating element or something from the controllers analogue output (0-10V). In these cases we would use a solid state relay (a bunch of transistors with a heatsink attached), think that might be what your looking for.
The majority of solid state relays are 'zero crossing' switched which means they only change state when the mains voltage is zero. This occurs at twice mains frequency (100 or 120 Hz) so they cant keep up with PWM running at several kHz.
I want to do PWM on an AC power line.
...Also, to dim an AC light, do you control the voltage? I don't really know how dimmer switches and all that work...