What about a global ed2k hash database?
I made some command line script file to hash my video files and store the ed2k links into one text file.
The find command is very quick in determining if a filename is already hashed, but it might still be a good idea to have some other form of storage.
Oh... just got another idea.
Why not put the ed2k url into a named NTFS stream.
Like this: ed2k_hash.exe myfile.dat > myfile.dat:ed2k
then mark the file read-only
No need to rehash the file anymore :)