1) If the choice is made by the user, then the data should already be loaded (it is necessary from something to choose). Therefore, the idea based on the user's choice to do later something in the script is somewhat doubtful. This contradicts logic Qlik.
2) What is the need to create so many variables? I think this will a priori slow down the whole system. Why can not the data in the analysis be used directly from the tables?
Something like this will loop through the table and dynamically create the variables:
LOAD Product, Country, [Percent Sales]
For i = 0 To NoOfRows('Work') - 1
Let vPr = Peek('Product', i, Work');
Let vCo = Peek('Country', i, Work');
Let vPs = Peek('Percent Sales', i, Work');
Set v$(vPr)$(vCo) = $(vPs);