In having looked at the stored procedures, this could be done with some minor modifications.
The way that DNN works is that each portal, whether it is a sub-domain or a different domain, is given a portal ID.
The logic in the cart is: "Select the products where PortalID = {portalID} OR Shared={True}"
... it's that "Or" statement that allows a shared product to be displayed ON ALL PORTALS.
However, you could use a little logic, with perhaps some case statements, to share products only between specific portals.
If this solution interests you, I'll do some further research and give an example of how you would need to modify the stored procedures.
Most of the SP's for Smith Cart are pretty straightforward; there's only one or two that get kind of hairy creating temporary tables and so forth. Most of the SP's don't even join tables; they're very basic, and therefore very easy to edit.
--Greg