I'd use an array. It's not value pairs you are dealing with, but just single entries. It's also easier to access. Dictionaries are not ordered, you can't access entries randomly.
So just create an array with size (words, 1, 1) and then fill the words.
Construct 2 only offers sorting alphabetically as far as I can see. So if you want to quickly be able to access words with a specific length, you could for example sort your words by length right from the start and then remember where are words with length x. Another way would be creating multiple arrays (from the same object), one for each word length (give them an instance variable) and then selecting the appropriate array.
Maybe there is also a data structure plugin that let's you perform some fast searches, but as far as I can see, your wordlist won't change once it's in a game, so theres probably no need for expensive searches.