AFAIK there is no limitation as long as your system hardware can handle in a data step. Try no using import for text file. The example below reads and writes 10**8 rows.
12 data _null_;
13 file 'c:\temp\i.txt';
14 do i=1 to 1e8;
15 put i;
16 end;
17 run;
NOTE: The file 'c:\temp\i.txt' is:
Filename=c:\temp\i.txt,
RECFM=V,LRECL=256,File Size (bytes)=0,
Last Modified=18Jan2013:18:17:29,
Create Time=18Jan2013:18:16:39
NOTE: 100000000 records were written to the file 'c:\temp\i.txt'.
The minimum record length was 1.
The maximum record length was 9.
NOTE: DATA statement used (Total process time):
real time 26.13 seconds
cpu time 18.70 seconds
NOTE: The infile 'c:\temp\i.txt' is:
Filename=c:\temp\i.txt,
RECFM=V,LRECL=256,File Size (bytes)=988888898,
Last Modified=18Jan2013:18:17:55,
Create Time=18Jan2013:18:16:39
NOTE: 100000000 records were read from the infile 'c:\temp\i.txt'.
The minimum record length was 1.
The maximum record length was 9.
NOTE: DATA statement used (Total process time):
real time 17.26 seconds
cpu time 17.08 seconds