It's extraordinary to me that this is regarded as such a surprising thing to want to do; I'm in exactly the same situation, and am just as surprised there is apparently no solution. Here's the situation I find myself in:
I'm developing a piece of code in c:\blah\app\foo.vi;
I want to utilize a subVI at c:\blah\lib\bar.vi;
I have a co-worker who is also developing in this same basic directory structure, but her "blah" is different than mine.
My understanding was that the whole point of relative paths was so that I can go to Tools->Options->Paths and under VI Search Path add something like \..\* so that supporting subVIs under the \lib directory are automatically searched for, so that as my co-programmer and I hand this piece of code back and forth we don't have to go through the hassle of reassigning the path of bar.vi each time one of us saves this piece of code.
Now, I'm the first to admit I don't know a lot about the Shared Library option, but from the little work I've done with them I get the impression they're pretty static items; if I changed foo.vi or bar.vi above, my assumption is I'd have to re-create the library, that it wouldn't dynamically link to the files I was modifying, and I'd just as soon not have to re-create the .dll every time I modified either one of these files.
And I certainly understand there are a lot of kloodges to get around this current situation: my fellow programmer and myself could just make our blahs identical, or we could do everything under a subdirectory that's already being searched for library code, or any number of other things. But the thing is that if LabVIEW already has the concept of relative paths in place, as they clearly do with and and the rest, it should be a natural and easy thing to do to look in the parent directory for supporting vis.
If anyone has any information or thoughts on this topic, I'd be grateful for your help. Best,
Mark