You cannot put it into the dataset as a variable. Not using PROC IMPORT.
Put you could put it into the dataset label.
proc import datafile="&dir\%qsysfunc(dread(&did,&i))"
out=dsn&cnt (label="&dir\%qsysfunc(dread(&did,&i))")
If the names of the files are like XXX.txt then you might be able to parse out the XXX and use that as the name. But then your program will break if the XXX part is not valid as a dataset name.
... View more