I've noticed an awful lot of this array called $txt in the various scripts. Where is this defined? Is it stored in a temp table somewhere, or am I just not looking in the right place?
the language folder
Its in your laguage files. In my case its index.english.php
Look in $themedir/languages. The files are loaded (included) by calling loadLanguage in Load.php.
It's not only in index.(language).php. It's all over the language files, with index.*.php and modification.*.php always loaded and others too depending on the page. For example admin screens will also load admin.*.php