This will search a location for a file type, in the example searching for LISP files in c:\MyLocation\Here - remember to use a double backslash in any location, and return a list of files names + extensions (also folders if the file type is *.*).
(setq myfiles (vl-directory-files "C:\\MyLocation\\Here" "*.lsp" nil))
You could do a search of this list to check if your required file is in there
As MHUPP use startapp to open the file, here opens the file in variable Lispfile with notepad
(startapp "notepad" Lispfile)
MHUPP example was for explorer - I didn't know that method would work for any file type to open the default programme.
For the first line here, your file path could be contained in a list, looping through each list item (location) until you find the file you want - could search a few locations if you knew them and want to hardcode them in the LISP, and if fails to find them there use MHUPPs 'getfiled' line for the user to select a folder or file.
Use an if, cond or while loop to open the file where it finds it and stop the rest of the loop from looping