Creating groups from a numeric sort of continuous variable is often done using a custom format.
Example:
proc format library=work;
value yearrange
0 - 2 = '<=2'
3 - 9 = '3 to 9'
10-14 = '10 to 14'
15 - high='15+'
;
run;
proc freq data=have;
tables yearvariable;
format yearvariable yearrange.;
run;
Above is designed to work with integer years. The proc format range descriptors on the left side of the = signs above include the ability to do strictly less than or strictly greater than using the < in conjunction with the - interval indicator.
A nice thing about formats is you could describe a different set of ranges such as 0 - 9 and 9+ and only have to change the format in proc freq or most other analysis procedures to use a different set of ranges.