We also used external number ranges in my previous project - for example the customers assigned to plants were with PXXXX where XXXX is the plant number. The P* customers were also used as cross-docking partner function for some of the regular trade customers and there was additional setup for alowed combination of delivering plant and x-docking location. It is much easier for the end users to remember a logical mapping instead of memorizing the internal number assigned by the system.
There are some other cases when it is pretty normal and even advisable to use external number ranges- for example when you create the customer hierarchy it makes more sense to use your own logic for the hierarchy nodes.
For trade customers - I am not 100% sure, but sometimes you may want to have exactly the same data for part of the customers in quality and in PRD, but you do not need to have all trade customers created in Q system. So imagine a user is supposed to test a change to an invoice smartfrom with some pricing conditions applied per customer number. In PRD he uses customer 96134, but in quality he should have the data for customer 96002. This means that he has to ask to extract the conditions for 96134 and request upload for 96002 after the new customer is created. Usually we set up a temporary test system before go-live with upload of all data for testing and validating the business processes and the users are supposed to check the quality of master data as well, because this is what they will get for go-live. If you use internal numbers for trade customers it is a very time-consuming task for the master data team to match the newly created customer numbers from the initial upload to the templates provided by the key users for pricing conditions or credit master records (for go-live).
Edit: I do not really like the idea of using letters in customer numbers for uploads, except for a very limited set of data, because while latin B and cyrillic В are two completely different codes, some users do not understand the concept or do not really care (which results in an uploader's nightmare if you do not have a proper template validation).