For instance, say I spike an infant cereal with 100 ppb As (Arsenic), and when I analyze it I get 104 ppb. My matrix (no spike) when I analyze it, has anywhere from 2-8 ppb As. How can I properly calculate how much of my spike was recovered?

What do you mean "anywhere from 2-8 ppb"?

To do a spike recovery expt you take one sample and divide it into two portions; to one you add the spiked solution, to the other you add unspiked solution. Then you measure both, take the difference, and divide the difference by the concentration in the spike. x100.

You shouldn't be considering a range in your unspiked matrix - it's one measurement.

(Where is your range coming from - sample variability or uncertainty in your measurement? The latter will definitely affect your spike recovery, which is kind of the point. But you measure THE SAME SAMPLE with spike and no spike, so there is no variability in the sample measurement in a spike recovery determination, assuming your sample is homogeneous.

You can google "spike recovery" and there are several hits with documents that describe how to do this.