It's very simple. Some of my Apps currently update 100,000 SKU's through the API. You download all the Products to your App. That is just a couple of API calls. Now you loop through all the Products (the haystack) looking for the needles (variants have a SKU).
For each match save it in a data structure of your choice. Once you're done, you have your work to do. Now wire up your updater to go through the work and do the updates. Since you now have the products and variants to update you get to do them all while respecting API limits.
That works muy bueno for me, and it should work for you too.