Regarding the file precedences, the best thing would be to keep the existing file location system and make the file type system secondary to that. Currently, it seems that the file types are considered before file locations, which can cause problems. For example, I was trying to disable the nebulas in the FS2 open VP a few months ago; I tried dumping all the original PCX nebulas from the sparky file into \data\effects but the game still kept reading the TGAs in the FSO VP. Eventually, I had to resort to making a new VP without these nebula files.
So the way it should be is that any isolated files are used ahead of files inside VPs and files in VPs with earlier (alphabetical) filename positions are read ahead of those in later ones, just as it used to be, but if the game reads both TGA and PCX versions of the same file in the same location, then the TGA is used.