Thanks Brenden. We're thinking alike.
Another approach we're discussing is utilizing the 'Custom Data' column inside an order to store custom statuses associated with order items, possibly persisted as JSON.
However, this approach will of course eliminate a bunch of the Kentico Out-of-the-box (OOTB) order editing functionality. We'd have to go custom from there, but it might be sufficient for interacting with partners via API.
Thanks again for your thoughts. Right now I'm leaning towards your last idea regarding global handler to split items into multiple orders. That will hopefully help retain the most OOTB functionality. Then we'll have to deal with explaining to the user why their one order turned into 12, managing processing individually, and just generally giving a clear overall message.