Hi -
PROC ARIMA does not feature an END statement like PROC TIMESERIES does.
It seems to me that the challenge you are running into is one of the reason why SAS Forecast Server was designed - just saying 
Provided that I understand your challenge correctly, the bigger issue will be to come up with the 6000 ARIMA models, unless you would like to reuse the same model specification over and over again.
Back to your challenge: one way to overcome the "different end dates" challenge is to a) figure out the individual end dates of the series and then b) to adjust the LEAD option of the FORECAST statement in ARIMA appropriately.
To illustrate what I'm talking about have a look at this very simplified example:
data air;
set sashelp.air(where=(date le "01MAR60"d)) sashelp.air(in=right);
if right then type=2;else type=1;
run;
*assumption is that end date for series is different and that shorter series contain no missing values but at the end;
proc timeseries data=air out=_null_ outsum=outsum(keep=type nmiss);
id date interval=month end="01DEC1960"d;
var air;
by type;
run;
%macro arima;
%do i=1 %to 2;
data temp;
set outsum(where=(type=&i));
*forecast horizon=12;
call symput('lead',nmiss+12);
run;
proc arima data=air(where=(type=&i)) plots(only)=forecast(forecast);
identify var=air(1,12);
estimate q=(1)(12) noint method=ml;
forecast id=date interval=month out=arima&i lead=&lead;
quit;
data results;
set arima1(where=(air=.)) arima2(where=(air=.) in=right);
if right then type=2;else type=1;
keep date forecast l95 u95 type;
run;
%end;
%mend;
%arima
proc print data=results noobs;run;
Hope this makes sense,
Udo