This is a bug, pure and simple, and it needs to be addressed. Try this for yourself.
1. Create a batch and add a gift for a constituent you know is married and whose spouse will receive a soft credit.
2. Change the constituent ID to another constituent. Do not search in the name field - just enter a new ID. A real world example of this behavior would be as follows: you're entering batch information and you accidentally leave the first digit off of an ID number when entering it. You realize this when you double check your work and fix the number.
3. Now, check the soft credit. The spouse of the original constituent will be listed as a soft credit recipient. This should not be the case. It should be the spouse of the new person you entered who gets the soft credit.
I went through tech support, and the Product Leads simply said this is the way batches are coded. If you don't go through the search function, as you would if you needed to look up a name, the soft credit information never gets refreshed.
This is not acceptable behavior. It's an open door to data errors.
Super glad to hear it's being treated as a bug now! :)