Perhaps I'm a radical, but if you do not have a current ongoing direct relationship with the company, then that company should not be able to store and sell your private data. I realize this is probably very contrary to Silicon Valley business models, but I think the issue requires a hard line or else people will just violate it.
That would require sharing private data about employees with Equifax so that they're able to handle paying them.
Or if I want to ship a package to somebody; can I not give a 3rd party (DHL) the recipients address?
I like your idea but I think it needs some refinement. Perhaps just a time restriction; although I'm sure DHL would love to keep a photo proving that the package was delivered for a year.