Best strategy for storing precomputed sunrise/sunset data?
I would say precompute those structures and output them into hardcoded python structures that you save in a generated python file.
Just read those structures into memory as part of your instance startup.
From your description, there's no reason to compute these values at runtime, and there's no reason to store it in the datastore since that has a cost associated with it, as well as some latency for the RPC.
I'm working on an NDB based Google App Engine application that needs to keep track of the day/night cycle of a large number (~2000) fixed locations.  Because the latitude and longitude don't ever change, I can precompute them ahead of time using something like PyEphem.  I'm using NDB.  As I see it, the possible strategies are:

To precompute a year's worth of sunrises into datetime objects, put
them into a list, pickle the list and put it into a PickleProperty
, but put the list into a JsonProperty
Go with DateTimeProperty and set repeated=True

Now, I'd like the very next sunrise/sunset property to be indexed, but that can be popped from the list and places into it's own DateTimeProperty, so that I can periodically use a query to determine which locations have changed to a different part of the cycle.  The whole list does not need to be indexed.  
Does anyone know the relative effort -in terms of indexing and CPU load for these three approaches?  Does repeated=True have an effect on the indexing?
Thanks,
Dave