It is not a feature or a bug. It was a design decision. The BETWEEN and other SQL syntax features are supported by the WHERE statement, but not in other normal SAS statements.
I suspect that it was done as part of supporting external databases with libname engines. So as part of pushing WHERE clauses into the external database they decided to except the SQL like syntax so that it would be easier for SAS to push more WHERE conditions down without having to re-write them.
But modifying how all of the SAS statements work would have been a much large task and probably would have had the potential for breaking customer's existing code bases.
Note that they are also many SAS features like the : modifier on comparison operators or variables lists that are not supported by PROC SQL.
... View more