You will need to pre-sort your data using a SAS numeric-type DATE variable, even if you choose to transpose a character-formatted variable "date". As SAS encounters the input data, that event cause the transposed ID variables to get added to the PDV, so by pre-sorting your file, that takes care of column order in the output file.
Scott Barry
SBBWorks, Inc.
Suggested Google advanced search argument, this topic / post:
proc transpose id varibale order site:sas.com
..and from the search results...
Sample 25104: Maintain the order of ID variables in the output data set created by PROC TRANSPOSE
http://support.sas.com/kb/25/104.html