по ходу дела думаю тут нельзя обращатсо к переменной в текстовом виде то получаетсо шо токо такой вариан... :
for i:=1 to 10 do
begin
r:=random(3);
if r=1 then variant1[i]:=o1[1];
begin
if i=1 then variant1[i]:=o1[k];
..............
if i=N then variantN[i]:=o1[k];
end;
end;