1. you don't need to copy the data from the CD to HDD
2. you can have data file and recovery files on different places
I am not sure what you want. There are 2 input already.
1) base directory of source files (read & write)
2) directory of recovery files (read only)
You may change the "base directory" by "Browse" button to the place of source files.
3. you can write output file to a different place
4. you can use hyperdrive/ramdrive/ssd for the temporary file
Some users requested this feature ago. Basically, output file and temporary file are same in my PAR clients. When a repair ends succressfully, temporary file becomes the output(repaired) file. It is possible to implement to put temporary file on different drive, but the merit would be very limited, because the space/speed/balance is varied by the environment. It is difficult to find/set/select best setting for all case.
but the par2 files use a very small block size and the memory cannot be allocated to recover
You should write what is the exact problem. The memory problem has nothing to do with your request... I suspect that your case might be too large matrix. My PAR2 client requires max 2GB memory for matrix to recover 32000 blocks. (and it beyond the limit of memory area for 32-bit application.) You may try 64-bit version of par2_tbb, as waiting progress is better than cannot.