I've seen other livejournal posts on the subject, but they center on legal remedies -- complaining at the FCC, using the federal "do not call" list, etc. I don't think that legislation is the best approach here. As Gaiman points out, the law is a blunt stick, and a very dangerous first-line treatment.
Anyway, I got to thinking about a scheme to generate and distribute one-time cellphone numbers. Basically, you'd overlay a secondary dialing system that relies on very large phone numbers to uniquely identify links between people.
(
As an implementation, you might get a keyspace from the phone company, which is permuted using one of the readily-available cryptographically strong hash functions (to make guessing valid numbers difficult,) use the phone itself to generate and "validate" new numbers, and distribute them via text messages. These text messages would be the totally open side channel used to exchange identifiers. If that became problematic, we could move to more radical methods.
This would have the advantage that, when a number became compromised, you could revoke it -- the UI would say "never accept calls from this number again." (It goes without saying that, until you manually generated a number from your keyspace, it would be useless.)
( And so forth )