配列に収めてから計算することは可能かと思います。以下の例では一旦行列に読み込んだ後に配列に戻して計算をしています。
proc ds2;
data test2(keep=(outer)) / overwrite=yes;
dcl package matrix m(3,2);
dcl double outer a[3, 2];
vararray double xy[2] x y;
method init();
dcl double i;
do i=1 to 3;
set test;
m.in(xy,i);
end;
m.toarray(a);
end;
method run();
dcl double i[3,2] j;
i:=(2, 3, 3, 1, 1, 2);
do j=1 to 3;
outer=a[ i[j,1], 1 ]*a[ i[j,2], 2 ]-a[ i[j,2], 1 ]*a[ i[j,1], 2 ];
output;
end;
end;
enddata;
run;
quit;