Even with the target file moved into the working directory ... so that
workaround failed.
That is not a workaround. Instead of assuming you are facing limitations or
bugs and trying random things, you had better read the documentation and
understand what you do wrong.
Without option -F, grep interprets every line in the pattern file (in
argument of -f) as a regular expression. For instance, '.' means "any single
character". Is it what you want?
As usual, it is very hard to understand your problem and I got tired of
deciphering your vague text with no example of the input and of the related
desired output. Anyway, I doubt grep is the proper command to use here. It
looks like a task for awk or, if the order does not matter, for join (or even
comm).