I was thinking about this last night in regard to a similar thread, and worked out an outline for coding a solution. I don't know enough PHP to code it, but an approach like this should work. It depends on the fact that the customer shopping cart functionality has to be able to record selected options in the db in order to keep a cart from session to session.

The new improved hands-off-the-core-code way (simplified case of a single-unit or a multiple-unit option):
Set up an Observer or two to watch for an add to cart or remove from cart event, and pass product/option id's and qty change by value and stock quantity by reference.
If option = multiple, adjust stock quantity by the difference between single & multiple, times qty purchased; if option = single, do nothing; then return to normal program flow and let the single add/remove be handled.
This should give an accurate stock count in whatever units you want.

The common way:
Make an override copy of the relevant shopping_cart.php file(s) and edit.
When an add or remove occurs, test for multiple-unit option and adjust stock quantity by the difference between single & multiple, times qty purchased; if option = single, do nothing but continue with normal program flow and let the single add/remove be handled.

Obviously this is grossly simplified and would need many details not mentioned.
If someone is willing to turn this into usable code, I think quite a few people would benefit.