Is it possible to generate a sine wave formula using values from an array?
It's certainly possible to reduce a large array that represents a smooth curve into a shorter array of key points in that curve, and to use interpolation to generate the other points. Linear interpolation is the simplest to use.
One question needed for the design is how much error you can tolerate on the interpolated points, the more accuracy needed, the longer the array. Another is a speed/space tradeoff, where saving deltas in the table saves a little calculation, but doubles the size of the table. Implementing cubic interpolation reduces the size of the table, at the expense of increased calculation time.
It is feasible to generate sine from scratch through the COORDIC algorithm, or from a Taylor series approximation, both requiring very little storage. COORDIC is especially well suited to integer arithmetic.
It's worth pointing out that Arduino does not have a true analogue output. You'll need to either use an external DAC, or the use the AnalogWrite function to write to a PWM pin which will be capable of generating only very low frequency sinewaves.