There are actually a couple places where the game does this already. For instance, the Longswordsman unit doesn't use a TXT_KEY; the game sets the name directly. That means that any French or German version, for instance, would still use the English name.
For modders it's a toss-up. The chances of anyone ever going to the effort of translating your mod into another language are slim, and there are some Lua things where it'd be awkward to try making it delocalized. But then again, there's little reason NOT to use TXT_KEY entries. And it saves room; sure, you could replace "TXT_KEY_FACTORY" with the word "FACTORY", but try placing the paragraph-long "TXT_KEY_FACTORY_STRATEGY", or even the one-sentence "TXT_KEY_FACTORY_HELP" (which just says "Requires 1 [ICON_RES_COAL] Coal.") into the existing blocks. If you put these into the Buildings table directly, it'd take up WAY too much room, so it's convenient to put them in a side file.
There's also the advantage of duplication. For instance, in my own mod, I gave city-states "Secondhand" versions of many industrial/modern units (the Tank, the Fighter, etc.); these units have stats nearly identical to their normal counterparts, just a bit weaker and they don't require strategic resources (since city-states won't have those resources). It's a very handy change to the game, but I don't want separate Civilopedia entries for these. I don't even want separate tooltip entries, because the player would never read those. So I only created one new text key (the base one that just lists the unit's name on mouseover), and the rest all point to the old unit's entries.
But if you're making a small mod and don't intend to ever translate it to other languages, then it really doesn't matter much one way or the other.