I will preface this by saying I'm not a mathematician, so apologies if I use terminology incorrectly.
Say I have a time series that looks something like this:
Specifically, the signal is usually zero except for periodic spikes. This is a toy example and a real time series would not have such a perfect frequency of these spikes. Also, there would be other spiky signals included in the time series with different magnitudes and frequencies.
I would like to decompose the time series to get the frequency of the signal(s). In the past, I have used FFTs to achieve this, but in those cases the signal looked more like sinusoids (i.e., gradual changes rather than discrete spikes). In cases where the time series is spiky, does it make sense to use FFT? Is there a better way of characterising the time scale of discrete events in cases where there are multiple signals combined?

It will solely be defined by your cut-off frequency for the FFT. You may need a very high bandwidth because the spiky signals are composed of large numbers of frequencies.
And you answer your question yes you can represent any signal using FFT, it all depends on how many frequencies are you willing to translate that time signal to.