A quick & dirty workaround for point 2 might be to set a hot key to launch Find in Files instead of normal Find, then put the required “locked” filename into Filters box and it’s folder into Folder box.
Then each time you press the hotkey it will remember the last filter/folder… just enter your search term and click “Find All”. You will however have to click on the desired line in the “Find Results” window to switch to the “locked” file, but there after you can F3 or Ctrl-F as usual. (I actually use Find in Files as much as Find).
An alternative for point 1. might be to write your more complex macros in LuaScript or Python Script (both available in Plugin manager).
I don’t believe these have recording ability, but they do offer very powerful ways to automate almost anything in npp far above what you can do with the built in macros.
There are other scripting plugins as well such as C# but I have not used these.
Point 2 is actually an ideal example of something that could be implemented quickly in Python Script:
One script to choose which file to “lock for finding” (or just type this in the Python console)…
globals()[“mnFixedFindFilename”] = notepad.getCurrentFilename()
and the main script (bound to a hotkey of your choice):
notepad.activateFile(mnFixedFindFilename)
notepad.runMenuCommand(“Search”, “Find…”)
Trivial to modify above to hardcode the filename or even support multiple hotkeys pointing to different files!