Your logic would work, but it is a lot of work for many entities to perform. The simple fact is that neither you nor I can control what the carriers choose to do.
You'd have to design a network from the bottom up if you wanted to enact these kinds of changes.
You're clearly interested in solving this spam problem and I admire the thought you've put into it. I'd advise that you focus on solutions that can be scaled more simply. If you think of all of the "spam calls" that happen, you'd come to the conclusion that your traceroute would happen 10s of billions of times a year.
My advice is to think of ways that don't require the cooperation of multiple entities.