Your comments

But this still leaves the problem of tab infestation/disappearance. If I have a set of files open and then do a quick-inspect of some file, possible already open, and then escape back, then Sublime knows if the file should be closed or not. However, if the view of the file contents is obstructed by the file list then I have to make that file the active one and I have no way of knowing if that file should be closed or not to retain the original tab set when I have seen what I needed to see.
Just noticed that the file list is sorted by last active, so going back the the previous file is already easy.
An alternative to moving the file result list is to be able to make it transparent by holding a button or something. I ofter use ctrl+p to quickly look at a file file and then escape back to my original file, which either closes or hide the one I just took a quick look at. If I have to press enter to fully go the the file I want to look at, then I don't know how to get back to the file I was editing if I had forgotten the name of it.

Unfortunately, it does not appear to support any of the languages I'm currently using, which is C++, Java and Lua. 

CodeIntel does indeed look promising, will investigate.

I would like to take it even further and say that the completions should be symbol and scope aware. For C++, an object name and a -> should bring up the available methods on that object, a few characters in the parameter list of a function call should list all the variables in scope with the type that the called function accepts. Writing a namespace name should list all the sub-namespaces and other symbols in that name space. And so on.

I must say that I'm impressed by the speed at which it is possible to navigate through files with ST2, but opening a file and finding a particular method declaration is still slower than ctrl+space and a few downs.