Alter table being the simplest solution to add a variable, will also recreate the dataset.
SAS datasets are stored into physical pages (just a unit) on a tabular form.
From there it easy to understand that there is no way yo add a new variable without rewriting the whole file.