It sounds a bit like you have custom use cases. As I understand it, you have a product that is really a group of products, and instead of swapping out one of those items, instead the cart is just adding them (box + 1 item etc). You might be able to resolve your issue with the use of product variants. But tracking inventory in such a manner isn't exactly what it was intend for. You probably need custom code. It would take some strategizing to produce an optimal solution.
Feel free to give me a shout firstname.lastname@example.org
Perhaps we can come up with a solution.