P.S.  The other approach I tried was to set the filename value in the %let statement as you have indicated, but concatenated with a nested macro variable using ||. That approach didn't work, such as the following -- perhaps for similar reason that the concat errored out?
______________________________________
%let yrmon = '2009_09';
%let filenm = 'I:\1 Commissions\PPA\Audit\' ||  &yrmon || '\insues_091409.xls';
-------------------------------------------------------------------
Then, when the above value &filenm is used in the proc export, the following error is issued:
230  %macro exportxl (setnm = );
231  PROC EXPORT DATA= &setnm
232              OUTFILE= &filenm
233              DBMS=EXCEL REPLACE;
234       SHEET=&setnm;
235  RUN;
236  %mend exportxl;
237
238  %exportxl (setnm = p2);
1     'I:\1 Commissions\PPA\Audit\' || '2009_09' || '\insues_091409.xls'
ERROR 22-322: Syntax error, expecting one of the following: ;, DATA, DBMS, FILE, OUTFILE,
              OUTTABLE, REPLACE, TABLE.