That might pose a problem.
Reading the documentation in $I directive (https://www.freepascal.org/docs-html/prog/progsu40.html#x47-460001.2.40)
I have no idea what takes precedence over what when using includepath and if the exposed behaviour is something that is workable for what you want to accomplish.
TRon, and future referencererererers, here is a working result:
* The $I file reference must not contain an absolute path.
* A file with the desired name must NOT be in the source code directory.
* The path (relative or absolute) where the working version of the file is housed is iinuded in the $INCLUDEPATH directive. This path MUST be first.
* The path (relative or absolute) where a default version of the file is housed is ALSO included in the $INCLUDEPATH directive. Use semicolon to separate paths.
When compiling use compile not run.
* If the working file is found, that is used. A $NOTE directive can be added inside the file.
* If the working file is missing, the default file is found, and since that contains a $NOTE directive, a note is issued in the messages area.
Very close to the desired FILEEXISTS directive that does not exist, but is requested.