The Open VI Reference can take a string on the path input. The string must be the name of a VI that is already in memory. (filename.vi) If the VI is not in memory, it will generate an error.
So all you need to do is get your array of all VIs in memory, then index this into an Open VI Reference function and you'll have a reference to everything in memory.
Just don't forget to close all those references when you're done with them.
Ed