Not to mention such a restriction would break many applications that depend on the source caller ID being forwarded. Call forwarding applications, some 911 implementations, etc.
They all run different hardware and software, and can't even keep track of who owns what DIDs. During the average day there are several phone network outages throughout North America as certain sets of numbers become unroutable from certain networks. Carriers often end up sending CSVs and excel files with their latest updates around, frantically.
In this system, Caller ID is a fourth class citizen. No one can spare the time to care about it, no systems are standardized, and no networks are responsive in anything like the time you'd need to maintain a system that monitors what caller ID information is allowed to originate from what place.
To govern which calling party number can get sent, you'd need an access control system that goes all the way down to the end user. For instance, if I start using Skype, I may want to place calls from Skype using my cell phone number. It's not desirable to block such usage.
Which means I'd have to have a way to make ABC Comm (who I bought my number from) signal their provider to signal their provider that I've now granted access to Skype. And this would be required every step of the way (ABC Comm would need to let everyone know which 5 providers they use. Each one of those providers would need to let everyone know which 20 providers they use, etc.)
So it's not really a lack of care or time. It's just that to make it work like you want it to actually work, you end up with this massively layered, complicated thing. And if any part goes wrong, you end up messing up people's calls. (And some of those calls could be 9-1-1 emergency calls, so you might end up killing someone.) All for what benefit, exactly?
The FCC could fix this problem overnight. They just need to levy fines, get serious about it. If I was liable for my customer's behaviour, I'd make them put up a deposit or go through some serious hoops - maybe require insurance. The entire problem would be solved within weeks. It'd just take a few hours of work in drafting the law to make sure good-faith actors aren't going to get hurt.
Instead, the carriers look at aggregate stats, and if it's too bad, they raise rates, charge fines, or disconnect customers. Some companies take a hard line and just cut any customer off if they appear to have any dialer. Others don't want to throw away an entire customer for only one fraction of the traffic. So everyone dances this line, trying to jam as much dialer in as they can get away with.