Nice solution and Very well written text! This is a common SAS problem.
About performance: Study_2016 is read once. Proc Append is a procedure, that copies large blocks of data. It is much faster than SET.

I do think that it is an advantage to split the solution up in different steps.
If you have a much more complex situation, then you can use the solution above (perhaps with an extra data-step).
Many thanks! / Anders Sköllermo (retired SAS Specialist. User since 1981)