I haven't encountered this before since usually, at most of my clients, a single batch was only found in one storage location. I'm thinking this might be a difficult thing to accomplish and might need to be done in a little more round about way. (unless you go to a full WM solution)
You many need to remove the number of batch splits, (or make it 999), allowed from the batch search strategy record and maintain that information else where. Maybe in one of the extra unused fields in a Q-info record for the customer, or in a class characteristic somewhere.
Create a new quantity assignment FM to replace the ones SAP provides. They provide 001 and 002 I believe, one assigns qty to the batches as presented in the sort order up to the number of batch splits. The other assigns qty to the largest batches first.
In your custom FM, you would have to look up the number of batch splits from where ever you store it, and then apply your own logic to assign the quantities up to the number of batches allowed, i.e ignoring the storage location issue.
This has some drawbacks, primarily as it won't prevent the manual assignment of more batches then allowed. (you might need a user exit to check the delivery when saving to monitor that issue).
Craig