I have read about making a cable to program these CPLDs but the instructions seem very vague... In particular I am confused about the apparent need for a "header soldered onto the PCB found inside the cases of Linksys WRT54G and WRT54GS routers" Is this header necessary or would it work without one?
I don't think that will work. While it is JTAG, it won't work with any of the Xilinx programming tools and may have the wrong logic levels and so on. You will need something called a 'Xilinx Platform Cable USB'. They're expensive, but cheap clones are available on eBay.
If you're designing a PCB for your CPLD, it's a good idea to fit a JTAG header that is compatible with (one of) the JTAG connector on the Platform Cable USB so that you don't have to connect individual pins with flying leads.