I absolutely agree completely that choice of code for first 2 characters needs to be made with "local" input. I'm an American living in Belgium for the past 40 years. I would not even pretend to make the decision on what codes to be used. Must be done with local input.
Change of population should not be a problem. System has been set up to accomodate expected population growth for 100 years. But of course that is an average and as you say, Dallas could become a hot spot. But system allows for a growth in population of about 50%, which should be more than enough. IF, however, that turns out to not be the case, and permutations beginning with DA are all used up, the "old" addresses keep the same code, new addresses would have to have a new code such as D2. Sort of like when phone companies run out of numbers, they don't change all of the old numbers, they just change the prefix for NEW numbers. Thus, I do not see this as a problem.
With regards to use of DB. The intention is for the use of DB of codes for postal addresses would be free. Just like we get to use post codes free, but they are covered by copyright in some countries. I don't see why a acceptable license arrange ment (at zero cost) could not be worked out to everyones satisfaction. LINUX is free is it not. You can use it free, but you cannot change it.

I appreciate your comments becuase they help me to make sure that I have covered all the bases, as they say. And no matter how hard we try or how clever we think we are, we have NEVER covered all the bases!