I think there are a few approaches you could follow here.
1) You could add an extra X-axis formatted to show the years rather than months. You could then manually set the range of this axis to the same range as your primary axis upon render.
2) You might have some luck using the sChart:alterTickMark:beforeAddingToAxis: to alter certain tick mark labels, placing the year underneath them.
3) You could manually add labels below your X axis. You could then use the axes data mapping methods available on the SChartAxis to find out the pixel location for a specific data values. Each time the chart pans, you could manage your labels, moving them with the axis, and removing them when the data value has panned out of range.