There is no plugin for that. You will need to have custom change for that. I don’t see any purpose for that I will buy 10 items for 10 different addresses and when I go on checkout I will pay only for 3 address?? Why I will put 10 items if I don’t want to pay all of them.
I thought that might be the case, closest I can find is to implement a hybrid of the aforementioned plugin with Multiple Shipping Addresses developed by Woocommerce itself.
As for scenarios where this might be necessary; there would be two - there may need to be different payment methods, or the items in the cart could be an incomplete order with more products to come in; like when certain items are out of stock etc.