What you really need to do is setup a callback.
Prior to your $.each() iteration, you'll drop the spinner onto the page, the iterate, then fire your callback. This is the only way to ensure the correct processing of your function calls.
Since you want the page to "redraw" after each SPS call, you'll want to handle your $.each() differently and add a callback within your SPService call or within the $.each() function itself. Please note, no matter what you do, once you've made 2 concurrent ajax requests (async or synchronous), the IE browser will lock up until these are processed.
Some more info on the topic:
What I've gathered from your post is that you have a list for each store, which is why you are making so many SPService calls. Why not put all of those items into one list as content types and create one batch for them all, thus creating on ajax request?
Cheers,
Matt