creating different portals per locale is certainly a possibility. It really depends on the type of site you are going to build. If you are a large multinational with different sites for different countries, with different local branches responsible for their own content.. yes, then it would be far easier to use different portals.
However, if you are a small organization located in a part of the world where you neighbour can speak a different language, and in fact, you speak that language as well (for 15 years, I lived in Maastricht, where in a radius of 30KM 3 languages are spoken (Dutch, French, German)) , then it would be far to much work to create different portals for every language. You'd want to maintain a 1-to-1 relationship between language versions, if you add a page in one portal, you'd want that page in all portals, same with modules. The point is: for small sites, with site admins that speak the languages they have available on the site, it is much easier to have it all in one portal.
And yes, you are correct.. it is a major PITA to come up with a way to safe ML content in a db. Its easy to do that for simple modules (you can download a few on my site), but for larger modules, its hard work. If we implement this in the core, it would have to work for simple and advanced modules alike.
With the recent core team changes, luckily the number of non-english members is a lot bigger. Vicenç will probably have the help of me, Sebastian, Stefan and Maurico to come up with a way to tackle this problem. Mind you, the 2 market leaders in multilingual modules are now on the core team... that must have an effect somehow :)