Another thing you can do to create uniformity in variables in multiple data sets within a project: Create a master template data set containing all of the variables in your project, then use the KEEP= data set option to pull in only the variables you need for a particular output data set,

data somestuff;
if 0 then set perm.mastervars (keep=ID name phone);
...

data morestuff;
if 0 then set perm.mastervars (keep=ID department ordercount);
...

This same technique works with PROC SQL:

proc sql;
create table morestuff like master (keep=id department ordercount);
quit;

Scott Bass makes some very good points. It should be straightforward to extend his %attrib macro to create code for either the data step or SQL.