FFT: Extracted spectrum depends on number of points sampled
If I use Y=fft( a(1:3:end) ), then I get frequencies at 0 and nonzero frequencies:


Well, yes, but that means you decimate your signal by a factor of 3, which on one hand will shift frequencies to $\frac13$ of their original frequency, but also will lead to aliasing. In other words: unless you know there's no signal above $f=\frac16f_\text{sample}$, you simply can't do that.

EDIT (based on zoomed-in plots):

So, hand-counted from your most-zoomed in plot, it seems there's about 5 peaks in 20 samples, which implies a period of 4 samples. 
That is ok by Nyquist's sampling theorem.

Now, if you just look at every third sample, which you do by doing a(1:3:end), then there's only ~1.333 samples per period. Nyquist demands that there's at least 2 samples per period. So, your second attempt aliases the signal from the $\frac15f_\text{sample/2}$ onto a different point in the spectrum, where it actually isn't. You damaged your signal by undersampling; you mustn't do that. It's not very clear to me how the idea to do that happened in the first place, but you should definitely read up on the Sampling Theorem.