Impossible to answer accurately, but I suppose one could come up with educated guesses and ballpark figures from the number of nodes on the network, or number of users on popular wallet services.
Due to the nature of Bitcoin there is no precise answer to this question. However, this site displays some statistics on the number of nodes in the network over time: http://bitcoinstatus.rowit.co.uk/
Check out my answer to this question about geo data. In fact, I would recommend creating one question about "How can you get statistics about Bitcoin users / clients" instead of asking about every different slicing of the data.
http://www.reddit.com/r/bitcoin just crossed 10,000 users a few days ago (Sep 2012), to help you get some estimate.
https://bitcointalk.org/index.php?action=stats - Bitcointalk currently has 64,175 users.
The challenge is to merge different addresses that all correspond to the same user. Since bitcoin isn't quite as anonymous as it's cracked up to be, this isn't totally impossible to do.
One way to do it is to merge all addresses that contribute inputs to a single transaction. That's based on an assumption, but it's pretty reasonable one.
Another way: connect your computer to all other Bitcoin nodes. Whenever you see a transaction broadcast that you haven't seen before, log it and the IP it's coming from. Since you're connected to all nodes, that is the sender's IP (unless they're anonymizing with Tor or some such).
These approaches are used in a couple of papers:
The estimates from those papers aren't totally current, but you could extrapolate. Ron and Shamir (2012) count 3,730,218 addresses and 2,460,814 "entities" (conservative estimate of users). So multiply current addresses by about 1.5 for a ballpark estimate.