Using BCD 7 - segment decoder with PWM

First of all, the 7 segment chips you're talking about decode with a font, for example if you input an 8, you get all 7 outputs high. If you you output a 1, you'll get the a and b outputs high.

The device you want is a decoder. Look at the 74138 3 to 8 decoder or 74154 4 to 16 decoder. Maybe it's fast enough that you can PWM the chip enable, check the datasheets. I still don't think your idea will work, at best you only have one output enabled at a time, so you only have the PWM signal present for a fraction of the time depending how many outputs you want.

The correct way to add some PWMs is with a port expander, you might start with the MAX7313, but find one that meets your needs. They are very easy to use and attach to the Arduino's I2C bus.