There isn't an easy way to create an "On Sale" button in your layered navigation since 3 attributes make up the "On Sale": Special Price
, Date From
, Date To
.
To have one link or option for "On Sale" you would have to add a new attribute to products named "On Sale" or something along that line.
It would have to be a dropdown, with for example the options "Yes" and "No" which would enable you to also turn on Use In Layered Navigation
for this attribute.
Now you can set it to "Yes" for all products that have a special price. This does require you to actually set the attribute so no nice automation going in and out of sale on the from and to date but it would give you the desired effect on the frontend.