How to introduce a list object that is stored in a .txt file to an AppleScript?
Obviously, I do not know the total scope of what you're doing or how you have other things coded, as you have not supplied all the details and code, however, I would take a different approach.

I downloaded the Moby Thesaurus from the linked page in your question and preformed the following actions on it.


Extracted the contents of the mthes.tar.Z file.
Opened the ./mthes/mobythes.aur file in TextWrangler and noticed two things to change.


Change the line endings from Classic Mac (CR) to Unix (LF).
Removed unwanted trailing commas from 6 lines.



Note that while I could make these changes in TextWrangler, nonetheless I prefer to use Terminal, and did so using the following command:

tr "\r" "\n" &lt; mobythes.aur | sed -E 's/[,]{1,}$//' &gt; mobythes.txt


Which took but literally a second to do (as I actually prefaced the above command with time, out of curiosity). With the mobythes.aur file having now been processed, saved to mobythes.txt and copied to my Documents folder, I will use this new plain CSV file as is, to query the search string for a match to the first field of each record and return the record, sans the first field, as a list to choose from in AppleScript. I found this method to be extremely fast, while searching for "zoom" the last record in the CSV file, it took but a second to return and create the list for that record on the fly.

In AppleScript Editor I use the following code to test against the plain CSV file as a single file containing the 30,260 lines with 2.5 million synonyms and related words.

set AppleScript's text item delimiters to ""
set theMobyThesaurus to POSIX path of (path to documents folder) &amp; "mobythes.txt"

set theSearchString to the text returned of (display dialog "Find synonyms for:" default answer "" buttons {"Cancel", "Search"} default button 2 with title "Search Moby Thesaurus")

if theSearchString is not equal to "" then

    try
        set theSearchResults to (do shell script "grep -i -m 1 '^" &amp; theSearchString &amp; ",' " &amp; theMobyThesaurus)
    on error
        display dialog "No match for \"" &amp; theSearchString &amp; "\" available." buttons {"OK"} default button 1
        return
    end try

    if theSearchResults is not equal to "" then
        set AppleScript's text item delimiters to ","
        set theSynonymsList to items 2 thru -1 of text items of theSearchResults as list
        set AppleScript's text item delimiters to ""

        choose from list theSynonymsList with prompt "Choose a synonym for: " &amp; linefeed &amp; theSearchString
        if the result is not false then
            set theChosenWord to (item 1 of the result)
        end if
    end if

end if


In this example, assuming a search match was made and nothing canceled, then the theChosenWord variable now contains what was chosen from the displayed list and can be processed further as needed/wanted.

Note that this is of course strictly example code for testing purposes and will need to be adapted to your use case scenario while incorporating appropriate error handling as needed.

I believe this is going to be the fastest way while leaving the Moby Thesaurus as a single CSV file, and is probably faster then whatever methods you tried thus far.