You will want to look at using SAS date-related functions such as INTNX, HOLIDAY (moved to Base SAS with SAS 9.2), INTCK, MDY, and possibly others in order to adjust your SAS DATE (numeric) variable - you weren't actually clear that you have SAS numeric variables which represent your date values (though you demonstrated a "formatted" value yyyymmdd).
The SAS support
http://support.sas.com/ website has SAS-hosted documentation and supplemental technical / conference topic-related reference material on this type of discussion.
Scott Barry
SBBWorks, Inc.
Date Intervals, Formats, and Functions
http://support.sas.com/documentation/cdl/en/etsug/60372/HTML/default/intervals_toc.htm
SAS Language Reference: HOLIDAY Function
http://support.sas.com/documentation/cdl/en/lrdict/61724/HTML/default/a003060817.htm
WORKING WITH SAS® DATE AND TIME FUNCTIONS
Andrew H. Karp
Sierra Information Services, Inc., San Francisco, California USA
http://www2.sas.com/proceedings/sugi23/Begtutor/p57.pdf
TS-668 - SAS Dates, Times, and Interval Functions
http://support.sas.com/techsup/technote/ts668.pdf