Having a global persistent way to access objects (files, in this case) is what URIs are all about--even BDE aliases can be seen from that perspective. The only major problem, usually, is to find a way to resolve names or ids to ressource locations.
The O.P. wanted to stored paths to files, which is why suggested UNCs or resolving them to URNs; but if I were designing an application from scratch, I wouldn't bother with that; I would store just filenames and, if really needed, a relative path in network notation from a root or UUID which is up to the program to resolve; p.e. "($root)/dinner/recipes.odt"
Of course, you may have to (re)invent a mechanism to resolve that root/uuid, but what's new about that? They did the same on networks with, p.e., DNS or KR for TCP/IP, etc.
(edit: stupid typo)