I think your macro probably works but PROC LOGISTIC does not allow multiple model statements like PROC REG. V 9.1.3 anyway.
[pre]
421 proc logistic data=sashelp.class descending;
422 weight: model sex = weight;
423 height: model sex = height;
424 run;
ERROR: Only one MODEL statement can be used with each invocation of PROC LOGISTIC.
[/pre]
I find that for a situation that the OP describes it is more satisfying to fiddle with the data and use a BY statement than to fiddle with macros.
[pre]
data class;
set sashelp.class;
array rs[10];
do _n_ = 1 to dim(rs);
rs[_n_] = ranuni(123);
end;
run;
proc transpose data=class out=tclass;
by name sex age weight height;
var rs:;
run;
data tclass;
set tclass;
order = input(substr(_name_,3),8.);
run;
proc sort data=tclass;
by order;
run;
proc logistic data=tclass;
by _name_ notsorted;
model sex = col1 age weight height;
run;
[/pre]
You don't have to create the ORDER variable but without it RS1 is followed by RS10 and you probably prefer RS2 to follow RS1.