You can program a time limit in the loop itself:
proc iml;
t0 = time(); /* units of the time() function are seconds */
time_limit = 5;
do while( (time()-t0)< time_limit);
x = 1; /* do your loop */
end;
print time_limit "elapsed time " (time() - t0);
... View more