The order in the array is the order in which the variables were first created. You can check that by running a PROC CONTENTS. One of the pieces of output is the order of the variables. You can even shorten the output to refer to just the variables of interest:
proc contents data=have (keep=var_: );
run;
And as was mentioned, if you are processing the variables within a DATA step, using a DO loop and an array, the VNAME function will tell you the variable name for the current array element.
... View more