I remember a book titled "Object-Oriented Environments - The Mjølner Approach" by Knudsen et al.; they describe an OO development environment and I seem to recall some kind of IDE that helps the programmer choose class methods and the like through a hierarchical mechanism. The book is out of print but some info about it can be found here. I have a copy in my office, but I won't be there in a few days. I'll check then and let you know.
As a personal comment, I think that using a tree UI device for code-completion is appealing because it matches the structure of the code as well as the decision process of the programmer; however, you often need to balance theoretical rigour with pragmatism and simplicity on the UI. A list, even though not as faithful to the underlying data structure, is simpler to operate and navigate. Just my 2 cents. :-)