(Disclaimer: I'm not speaking on behalf of any carrier, just speculating based on how Internet backbone and P2P technology work.)
That would fail badly. If Carrier A and Carrier B both did that, it would force most P2P peering connections to go through the network peering points between the carriers, which are just about the scarcest resource in carrier networks other than maybe cross-ocean or other international links. Each carrier would ideally want their own customers to do their P2P with each other, and do so at the nearest location (so users in the Northeast share with each other, users in the West share with each other, not too much crosses the long-haul network, YMMV about whether the US looks like 3 zones, 10, or 100.)
And if the carrier's doing their own P2P caching, they'd probably want to do some near the backbone peering points (e.g. San Jose, DC, maybe more) and encourage their customers to connect to those instead of running multiple streams across the peering point. Then you get to the engineering tradeoff question about whether you want a P2P cache in every cable head end, or just regionally.