Some MacOSX applications like iTunes don't really have problems when I move a file around - they still find the moved file easily (and I'm pretty sure they have not have opened the file before).
How are they doing it? One possibility I could think of is the FS event notification system. (related question)
But I remember that I have seen some absolute file handle / id or so and I thought that maybe they can always query the current file name by that file handle. Is there something like that? Maybe the inode nr but that is a bit too less because I'm not sure how to get the filename from an inode nr and how to open the file.