<p>I want to display from cache for a long time and I want a slightly different behavior on page render vs loading the page from cache.  Is there an easy way I can determine this with JavaScript?</p>

One way you could do it is to include the time the page was generated in the page and then use some javascript to compare the local time to the time the page was generated.  If the time is different by a threshold then the page has come from a cache.  The problem with that is if the client machine has its time set incorrectly, although you could get around this by making the client include its current system time in the request to generate the page and then send that value back to the client.