Not the XCF (haven't tried yet), but I've made a JTAG programmer which I have used to program 18V04's and several Xilinx and Altera PLD's/FPGA's.
I don't use XSVF but plain SVF. I've made several versions of the programmer. One variant program over PCI, another over USB, one over the a serial port and a couple over Ethernet. One of the latter used an Altera NIOS.
I can compress the programming data, but this require more resources in terms of CPU, gates or LUT's when you want to program. If you have a lot of space available (e.g. a CF type device) you can use a very simple device to drive the JTAG signals.
Petter