As others already mentioned I would keep it as a number. I would also use CALL SYMPUTX to avoid notes about type conversion.
The functions of the DATA Step can also be used in the SAS macro language using %SYSFUNC. Have a look at the below code sample.
data _null_;
ThisDate=Date();
call symputx("FirstDayTwoMonthBack", IntNX("Month", ThisDate, -2, 'beginning'));
run;
%put NOTE: &FirstDayTwoMonthBack;
%put NOTE: %sysfunc(putn(&FirstDayTwoMonthBack, yymmddd10.));
%let newDate = %sysfunc(intnx(month, %sysfunc(today()), -2, b));
%put NOTE: &=newDate;
... View more