After entering the command (btcrecover.py --tokenlist tokenfile.txt --no-dupchecks etc. etc.) there are 2 popups: 1 asking for the xpub, the second for the seed phrase. Is this the same as the --mpk command?
Yes. If you don't specific it in the command line, then a pop up will ask for it.
Is 3 words the minimum number of relative anchors needed to be used for this function?
No, two would be the minimum. You can't use one since one can't be compared to zero others, but you could use two with ^r1^ coming somewhere before ^r2^.
Note that with relative anchors (but not fixed anchors), you can use the same relative anchor on multiple lines. So if I had one line with ^r1^, and two different lines both with ^r2^, then both of the ^r2^ lines would come somewhere after ^r1^, but in either order.
What's a doable and impossible number (hundreds of years) that can/can't be found?
As I say, it all depends on the format of your tokensfile, how much lines there are, the possibilities on each line, how much descrambling might be needed, etc. It also depends on how many guesses per second your hardware is capable of. If you share your tokensfile with the actual words redacted (feel free to PM it to me if you would prefer), I can do some rough math to work it out for you.
If you run without --no-eta, then it should calculate it for you, but in my experience this doesn't really work very well for large numbers and tends to just freeze up.
Bonus question: Is there a post or tutorial I can learn where to quote properly?
You just have to copy and paste the quote tags multiple times around each section of text you want to quote.