Control multiple LEDS with one PWM pin?
Charlieplexing my friend. 

You simply hook them up like this:



Then you write high and low on the different pins which will activate individual LED's.

Let's say you want LED3 to light up, then you set it up like this:

Pin1 = INPUT //high impedance
Pin2 = OUTPUT(1)
Pin3 = OUTPUT(0)


If you want Led3 to be 50% bright, then implement a PWM in software.

Pin1 = INPUT //high impedance
Pin2 = software_pwm(0.5)
Pin3 = OUTPUT(0)


And if you want all 4 to light up (I assume that you don't connect LED5 and LED6)

Then it will look like this:

while(1){

    //LED1
    Pin1 = OUTPUT(1)
    Pin2 = OUTPUT(0)
    Pin3 = INPUT  //high impedance
    delay_some_milliseconds()  
    //we don't need to be flashing at 500khz, or whatever high
    //frequency we'll get without any delays, 60Hz is good enough,
    //some ms will bring you down there. 

    //LED2
    Pin1 = OUTPUT(0)
    Pin2 = OUTPUT(1)
    Pin3 = INPUT
    delay_some_milliseconds()

    //LED3
    Pin1 = INPUT
    Pin2 = OUTPUT(1)
    Pin3 = OUTPUT(0)
    delay_some_milliseconds()

    //LED4
    Pin1 = INPUT
    Pin2 = OUTPUT(0)
    Pin3 = OUTPUT(1)
    delay_some_milliseconds()
}