Yes and no.
Can I pick and choose what sites a user can access via my exit node?
For instance I might be very pro-facebook, but I probably have no
interest in helping to conceal the identity of people downloading
child-porn or engaging in other things I might find morally
The point of Tor is to make everyone anonymous online; unfortunately, that means masking the bad guys as well as the good. If you setup a firewall infront of your exit to block websites, you will most likely receive the "bad exit" flag and no one will use your node.
However, if you setup a firewall, block all sites but the ones you want, and then configure your exit policy properly (eg allow facebook IP's, then reject *:*) you will not receive the bad exit flag. The problem with this is that compiling a list of all IP's used by a given service (eg. Facebook) can be rather tricky. There's no guarantee that their gateways won't change and you'll need to take some measure to ensure that your exit policy and firewall rules remain valid.
An example exit policy (for Facebook and Google) can be found below:
ExitPolicy accept 126.96.36.199:80
ExitPolicy accept 188.8.131.52:443
ExitPolicy accept 184.108.40.206/16
ExitPolicy reject *:*