Can I use a sdcard for holding led color values to get around SRAM limitations?

What you need to do is to transfer one frame at a time from the program memory into the SRAM ( read write memory ). Then you need to display that one frame to the Neopixels.

You can't go straight from the program memory to the Neopixels because the libraries expect it in a buffer that you can access normally. I haven't checked but I suspect reading the program memory will be too slow anyway.

but even with my math I'll still be running into storage problems using that.

Yes 300 frames will require - 160 * 3 *10 * 300 is 1.44M of memory, by any stretch that is a lot for an embedded processor.

That suggests you should use an SD card and load the data off that into your one frame buffer, but again I am not sure of the refresh speed you will get.