How do I set up two different PWM's using the shift register.

I need to have two different PWM fades run in the background while other code runs. I want to be able to change the speed of the fade in and out using a potentiometer one per fade. I heard you can use the shift register for this, but I have no idea how.

This sounds like a classic case for the use of the BlinkWithoutDelay principle using 2 different interval tests. No need for a shift register.

I want to do a PWM fade not a blink.

So change the PWM value each time the interval has passed rather than turning the LED on or off. The BWD example sketch illustrates a principle not the exact solution to your problem.

jardane: I want to do a PWM fade not a blink.

Example there of a small library that does just that:

http://www.gammon.com.au/forum/?id=11411&reply=1#reply1

Scroll down to "Example fading sketch".