@heavy1metal:
I'd go with Kejianshi's idea. Though for social media sites, I'd block every purchased IP range they own, thus blocking both site and chatting features…
Google's DNS names for messaging services:
https://support.google.com/chat/answer/161980?hl=en
restrict access to use only your DNS servers:
https://doc.pfsense.org/index.php/Blocking_DNS_queries_to_external_resolvers
Regarding the link to the "blocking DNS" entry on the wiki:
This: http://www.interspective.net/2012/07/pfsense-ntp-and-network-sneakery.html
Can be applied to DNS too.
I enable this "feature" sometimes for my girlfriend for facebook when she has to study.
The rule to block facbook would look something like this:
address=/facebook.com/62.112.159.61
The relevant page in the wiki for this is: https://doc.pfsense.org/index.php/Wildcard_Records_in_DNS_Forwarder