Icicles is an Emacs package that enhances minibuffer completion.

The Emacs Wiki page on Icicles contains information the features of this package and how to obtain and install it.