Personally, I believe that a game that is intended to be "moddable" should have the correct interfaces for that. D2 for example - simple text files you say ? Well, was the game made that way for purpose or why ? I mean - almost anyone can find out if there are "simple textfiles".
The makers of NWN made it *completely* the other way round : They didn't make it "moddable", but instead the editor is made "gameable" ! I mean that NWN is basically one big editor with modules, at least that's how I understood it.
These interfaces for enabling a game to be "moddable" must be invented early, that's why I believe that <img src="/ubbthreads/images/graemlins/div.gif" alt="" /> 2 could be a good canidate (or candidate ?) for that, rather than already existing games where the devs didn't have this in mind.
Blizzard didn't intentionally exposes the data textfiles to the gamers. One reason contributing to why the D2 data text files were discovered, and rather early at that, was due to Blizzard using the MPQ resource file format, which was also used for Starcraft, and there were quite a lot of Starcraft modders around whom happens to be rather hardcore programmers (Camelot Systems come to mind). Hence, it is with existing tools that gamers were able to pry into Diablo's MPQ files and come across the .txt file.
NWN is primarly designed as a tool in mind, which is why it is extremely moddable - it is meant to be. Hence, we have BD (or DD) at one end of the spectrum, and NWN at another end. One could even say that the official campagin is actually a 'mod' for NWN!
Actually, you are very right in saying that for a game to be moddable it must implement certain design features right from the programming. Total Annahiliation, Homeworld, Half-Life and etc. are all designed with customisability in mind, and hence that why they have a collection of mods.
For D2, I will rather say it happens to be a happy accident that it is moddable. The programmers decide to use a text file format to store most of the data so that it would be easier for them to tweak values. Some gamer-programmer manage to stumble upon it, and hence Diablo II mods were born. In later versions of D2, and for LOD, the developers decide to use a binary format, but respect for the mod community, they allow mod-makers to use the game to convert the binary files back to text files so that the can be edited, and allow it to be converted into a binary format instead.
So is it possible for BD to be moddable? It depends - on how the programmers store their internal data, what type of resource files they use, whether they implement any form of checksum verifying the data files (recall the terrible patch incident mentioned in Peek 33) and etc. etc. The people with the best answer are the Larians, and if they feel that releasing too much info about their code is not a good thing to do, then by all means I respect their decision.