If all you need is a developed list of keywords roll your own... put all the keywords into a list, inject into an array, set number of words in phrase then iterate/recurse through all combinations to output the final listing.
Might be some benefit to doing this... but maybe not so much, particularly if multiples are used on the same page(s).
The reason I'm looking to do this is only for Google Adwords. I'd like to only have phrase match or exact match. I don't like Google guessing at what people are searching for and sending me irrelevant traffic. I'd like to take a little more control, and capture every keyword combination.