You could try to use the WHEN-VALIDATE-ITEM-trigger at the Drop Ship-flag (or the appropiate IF-statement in the CUSTOM.pll) Also, you might get better answers in an eBusiness-related forum, maybe here OA Framework
two Things to note down here -
1. CUSTOM.pll won't consider a when-validate-item trigger, instead go for the check on drop_ship flag in when-validate-record trigger.
2. Set the Item properties in form for subinventory as Validate from list = True.
Hope this Helps!
Change the validate from list and required property of SUBINV field as YES.
It will solve your problem.