You could do it very simple like this:
pairs = {Range[10], Range[10] + 10}\[Transpose]; (*here will be your data*)
i = 1;
max = Length[pairs];
chosen = ConstantArray[-1, max];
Dynamic[chosen] (* interactively see your choice*)
Dynamic[pairs[[i]]] (* current pair *)
{Button["First", chosen[[i]] = 1; i = Clip[i + 1, {1, max}]],
Button["Second", chosen[[i]] = 2; i = Clip[i + 1, {1, max}]]} // Row
Of course you can do this much more advanced, using DynamicModule, Manipulate, et cetera...
If you want to load the data while it is evaluating:
LoadPairs[i_] := {i, i^2}
i = 1;
max = Length[pairs];
chosen = ConstantArray[-1, max];
Dynamic[chosen]
Dynamic[LoadPairs[i]]
{Button["First", chosen[[i]] = 1; i = Clip[i + 1, {1, max}]],
Button["Second", chosen[[i]] = 2; i = Clip[i + 1, {1, max}]]} // Row
or
LoadPairs[i_] := {i, i^2}
i = 1;
max = Length[pairs];
data = LoadPairs[i];
chosen = ConstantArray[-1, max];
Dynamic[chosen]
Dynamic[data]
Row@{
Button["First", chosen[[i]] = 1; i = Clip[i + 1, {1, max}];
data = LoadPairs[i];],
Button["Second", chosen[[i]] = 2; i = Clip[i + 1, {1, max}]];
data = LoadPairs[i];
}