I used to see mention of a keyword "pure", but it didn't make it into either edition of ECMA.
I would have thought that it would be extremely useful to indicate that a function is referentially transparent. Compilers could cache the results. Automatic reasoning tools would benefit. And I would think that the (eventual) verifying compiler would need it.
For instance, how is a verifying compiler supposed to be able to tell that a call to a function to get the time of day is not referentially transparent? I would imagine it is necessary to do so to detect certain logic errors.