What tables and relationship do you have in place? Do you have these (but perhaps with different names):
Client::__pkClientID = Orders::_fkClientID
Orders::__pkOrderID = LineItems::_fkOrderID
Products::__pkProductId = LineItems::_fkProductID
See: Common Forum Relationship and Field Notations Explained if my notation is unfamiliar.
If so, you could use a layout based on Products to generate records in LineItems for the current Record on an Orders layout. This will take some scripting and a global variable or two to pull it all together. Conditional firmatting can even be used to produce a 'check list' effect to show which products have already been selected for the order.