Hey Troy Bryant,
I have gone through your code and i see a discripancy which is obvious to cause the problem.
Let me explain you the problem:-
If you can see implementation of yours, you are updating a scope variable named "disabledToggled" by checking the storeId>0.
Even though you have multiple items and storeID checkings but there is only one instance of scope variable "disabledToggled", so whenever the updates will happen inside loop the same scope varibale will get updated and only the last update will be available to the scope variable.
What you can do is add a new attribute for the item object so that it will also be retrieved with the result.data and will be available for each item in the for loop, then do like below:-
items[i].disabledToggled = true/false;
and also in html the change will be like:
<a ng-click="item.disabledToggled|| vm.removeItem(item)"></a>
Hope you got my point.
Please let me know if any further help is needed.