Our site's user base is primarily part of the default country (US), however we do have a few users with phone numbers for other countries. It doesn't make sense to format all of the phone numbers with +1 for the handful of non-US cases and setting everything to national causes confusion when looking at the few international numbers as the country code is needed in those instances. To deal with this I've developed a formatting option that checks against the default country and if it's the same as the country code for the phone number then the formatting function is passed phone_national, otherwise it gets phone_international.
Attached is a patch that is the first step for this. It still needs some more work on the settings form to require a default country if this formatter is selected, but I wanted to share what I have.