Just my take on it. There are many ways to run linuxcnc, keep that in mind.
My questions:
* What should I run LinuxCNC on? I've got a spare RPi 4 sitting in my drawer. I've got a couple of Supermicro Intel Atom-based ITX server motherboards lying around. What's the most intelligent way to go?
Atom is probably below the acceptable performance limit, but anything faster than that. There are some new mini-ITX main-boards with N100 integrated. CPU performance is more for the user experience, the later HMIs (or guis) may need a bit faster CPU, while the old Axis works with anything. For the cnc part it is about real-time jitter and there usually are ways to tweak settings to come to low jitter. I go with N100 nowadays, but its just one of many possibilities. Once you have seen the newer guis you will want to use one of those. And need at least some CPU performance. I ran on RPi4, I would think a step up to RPi5 would be nice.
* It seems that a parallel port interface is the "old-school" way of doing things. Now, it seems that most prefer an Ethernet interface. Is there a disadvantage of going one way or another?
Stepper performance (steps/seconds), number of IOs, and other types of IO than digital IO is what makes people move away from the parallel port. Plus that main-boards nowadays seldom have a parallel port and need to have one added.
* Since I have to replace the steppers anyway, is it foolish to go with a "traditional" setup rather than Ethercat? It seems like Ethercat will be considerably more expensive (like twice the price or more) - but is it worth the price?
You won't get anything extra from the milling machine using EtherCAT. It is a different way of doing the same thing.
* Everyone seems to agree that Mesa boards are the "gold standard." How do Pico Systems' boards compare? Jon Elson lives like 20 miles from my house. Does anyone have experience with his customer service? Is it foolish to consider anything other than a Mesa?
From what I can see, and I may be wrong, the Pico Systems' board connect to the parallel port? If you go with a parallel port solution that can work. Mesa's board on the other hand typically use EtherNet, SPI, PCIE, or PCI (and maybe more) to connect to the computer. This gives speed and reliability.
* If I go with a Mesa setup, which direction should I go? If I use the RPi, I could go with the 7C80 or 7C81 - I could also run an Ethernet setup. If I use the server motherboard, I could go with a parallel port setup or an Ethernet setup. Is there an advantage of going one way or another, here?
I've only used Ethernet setup and see few reasons to do anything else. If you are only ever to use Raspberry one can think of the 7C line. I would like to keep all options open as far as possible.
* If I go with a given Mesa board, what else will I need to buy? It seems that some of the Mesa cards (like the 7C80 and the 7I95T) will hook directly to the stepper drives, while others require a separate daughter card (BoB)?
Send Mesa a mail with those questions, they are usually very happy to help. For a normal stepper motor system I would look at 7i96, which connects to the stepper driver with the step/dir/enable signals.
* What hardware (if any) would I need in order to use the encoders on the steppers as a DRO? Will any of my hardware selection above affect my ability to have this feature?
For Mesa to answer, I think you are looking at a 7i85. From what I understand, encoder counting is done by the FPGA, so the card must either do it itself on the FPGA board, or have a connector that allows a daughter board to connect the encoder inputs. The 7i96+7i85 does that.
* Will a cheap Amazon/Aliexpress stepper motor/drive/power supply set work, or will I need to buy the stepper drives separately? If I need a particular stepper drive, should I go with a Gecko or something else?
Yes, will work fine, just size it to suit the stepper motors. I have good experience with such stepper drives.
* If I run a touchscreen and a pendant, is there any reason why I will need a keyboard hooked up to this machine (once it is configured)?
Depends on the gui and how well touch screen input is integrated. For example, I run the qtdragon gui and there the keyboard input is well integrated. Except when I need to edit the G-code file, then I bring in the keyboard. Normally I have it tucked away though.