Exactly this. The last time I had a chance to talk to an FCC commissioner (they were in the Bay Area at an IEEE meeting) I strongly suggested that they could do a world of good by creating such a database, requiring anyone who wants to call into the US have their numbers registered in such a database, and to put 'DO NOT TRUST' on any number that wasn't in the data base as its default Caller ID.
Pair that with creating an access restriction to the US PSTN for any entity that originates a call with a spoofed number that is enforceable with technology rather than by voluntary or compelled action, and much of the problem will be mitigated.