Text-Twist - similar to boggle problem
Perl, 90 chars

$_++for@q{&lt;&gt;=~/./g};open E,"E";while(&lt;E&gt;){%p=%q;$.*=$p{$_}--for/./g;y///c&gt;3&amp;&amp;$.&amp;&amp;print}


The program takes the list of letters as a line on standard input. The word list is referenced as a file in the current directory named "E". (Presumably this falls under the umbrella of "any way you wish".)

Some other assumptions I made that were not spelled out in the problem description:


that the goal was to produce a program (as opposed to a function);
that the input was case-sensitive;
that apostrophes and hyphens were not to be ignored;
that the program was required to not match on words in the word list that were too short.


Also, I wonder if the time limit given in the original description is necessary. Even when given a huge list of letters such that every word in "english.0" matches, my program still runs to completion in under 1s.