If you are worried that websites where you sign up are leaking your information, one possible way of tracing a leak is by signing up with slightly different names and email addresses to each website.
The easiest way to do this is by changing your middle name. So you would sign up to one website as John A. Djuro, to the next one as John B. Djuro, then John C. Djuro, and so on. The upside of this is that all mail sent to you should still reach you, but you will see when unsolicited mail or email arrives that contains the respective name you used.
For email addresses, you could use separate addresses for each site you sign up with. One possibility of doing this is by registering your own domain as suggested by @Philip in another answer. Also, some freemail providers allow you to modify your address and still receive all the messages. In the received message, you will then see the address to which the message is sent. For example, if you have a GMail account you can add a plus sign and any string you want to your address. So, if you own firstname.lastname@example.org, you could sign up with email@example.com to some site and would still receive their emails. See GMail help here, the bottom section on "Use Gmail aliases".
However, once you have that information, there is not a lot that you can do with it. When confronted with the allegation of selling your data, no company in its right mind would confirm that they do it and you would probably have a hard time finding hard evidence against them. The only thing you can do is terminating your business relationship with them, but this will still not un-leak your personal information.