I have a big problem with drug tests, and i don't use either. The company has absolutley no right to ask about what I do, in privacy, off the clock. Whether it's drugs, downloading torrents, drinking, smoking, eating unhealthy food, looking at porn, none of this has any impact on my job performance, and if it does, then fire me because my job performance has been impacted.
I'm not a lawyer, but my layperson view is that facebook accounts are not public. You have explicit controls on your facebook page to limit public facing information. Employers want to snoop at the public facing part? I have no problem with that. The moment they are compelling to you provide access to non-public portions (i.e. areas that only "friends" would see) I think that crosses a big line.
Your webmail, cloud stored data etc. are all online as well, that is irrelavent. Backround checks are fine. Credit reporting is public information. Criminal records are public information.