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.