The problem is that under the covers FileExists is doing a call to CreateFile (actually NtCreateFile) and the call to CreateFile is synchronous.
You might be able to achieve something by extracting the computer name and pinging the computer name but that only tells you if the NIC associated with the computer is online, it says nothing about the state of the file & print services on the remote machine. Your file might also be on the other side of a DFS connection in which case you can't even determine the correct remote server.
Bottom line is that it's really challenging to do this, you're better off doing what despart said and calling FileExists on another thread. Just make sure that you don't try to clean up the thread when you time out - TerminateThread is an evil API.