Or just make it illegal to use a CID you don't own (as it is in some parts of the world). Although the Telcos would also need to be forced to block the illegal CIDs.They could probably stop this tomorrow if they wanted to. Just require customers to verify ownership of the numbers before they can use it as their CID. It's already quite common for lots of services to automatically verify your phone number.
I suspect the Telcos are not that interested in a quick solution because they make too much money from telemarketers.
What the telemarketers are doing right now is already illegal. That certainly hasn't stopped them. They are all overseas from what I understand and there is no easy way to enforce US laws in the countries they are in.