Just a little improvement of Chris J's code, simply extrapolating in proc sql. Do not forget to give the full credit to him :)
proc sql;
create table filled(rename=(sales_filled=sales)) as
select REGION_ID, STORE_ID, YEAR, max(SALES)/(max(YEAR)-min(YEAR)+1)*(YEAR-min(YEAR)+1) as sales_filled
from sales_data
group by REGION_ID, STORE_ID
order by REGION_ID, STORE_ID, Year;
quit;
Note: this works even if the years were not consecutive (e.g. year 2001 is somehow missing) because the sales value are filled based on the "ratio of timespan" instead of "counts".