I think the healthiest way to do it is to do without a Java application server.
Application servers like to manage resources (CPU, memory, threads) their own way. Performing long-running, I/O intensive batch processing is prone to distorting this kind of resource management.
I suggest using an external process to split up the files, with a periodical tidying up to keep disk usage under control, and using the AS for reading access via file-system the way BalusC suggested.
I suppose concurrent access issues would be dealt with by JPA layer -- which I admittedly don't know much about, but I think it comes also in J2SE flavour.