Hi,
we are doing this with macros, similar to the code below:
[pre]
%macro import;
data files(keep=Filename);
  rc=filename("mydir","C:\PathToMyFiles");
  did=dopen("mydir");
  if did GT 0 then do;
    memcount=dnum(did);
    if memcount gt 0 then do i=1 to memcount;
      Filename=dread(did,i);
      /* subsetting the list */
      if substr(upcase(Filename),1,3)='BLA' and INDEX(upcase(Filename) ,'.XLS') then output;
    end;
  end;
run;
data files;
  set files;
  call symput('numcopyf',_N_);
run;
%put Files to read: &numcopyf;
%if &numcopyf gt 0 %then %do;
  %do i=1 %to &numcopyf;
    data _null_;
      set files;
      if _N_=&i then do;
        fn=filename;
        call symput('f',fn);
      end;
    run;
    %readinexcelfile(&f);		  
  %end;
%end;
%mend import;
[/pre]
In the %readinexcelfile macro you'll have to put your code for importing the data.
hth, Thomas