Hi synchronous,
Here are my comments for MAXV CPLD:
1) In Quartus software, i defined a ALTUFM_SPI block (could be some other UFM options). Then, I defined a Memory Initialization File by going to File => New => Memory Files. You can define the values you want to have on your UFM. Then, you have to setup the ALTUFM_SPI parameters: ACCESS_MODE: READ or READ_WRITE, LPM_FILE => you just put the name of the MIF file created (for example like this: "test.mif"). Then, you have to recompile the project after correct inputs/output definition of ALTUFM_SPI block. A pof file is created and you just have to download it to your MAXV using the dedicated programming JTAG port.
2) Programmer utility allows you to download the pof file to the CPLD via JTAG.
3) Please, check answer 1)
4) Just read AN-100. In-System Programmability Guidelines => Yes, use JTAG to program MAXV.
Hope this helps.
Fabe