Re 2. If latency to the file cache store is a problem, you could configure the cache store to be asynchronous or write-behind, rather than synchronous or write through. There's a chapter on that on our wikis.
Re 3. Yeah, locks still used on a per operation basis.
Re 4. We don't have L1s yet, but you could implement Cache Listeners on the server side and use JMS to notify your clients and build an L1 that way.
That configuration looks fine and it's non-transactional. You already have the loader configured with write-behind or async communication.