Answers often come when you're not actively looking for them!
Can strict aliasing still be considered maintained, when both pointer point to constant data?
And by "constant data" I mean not only const qualified (we know that const doesn't mean immutability), but guaranteed that only initialization has been done (and will be done) on that data.
Like a throw-away string literal mentioned in the first post
No, because a read is still a strict aliasing violation, no magic stuff happening here sadly.
But, if you were to cast a pointer to a temporary char* pointer, and never attempt to read or write the data, you should be able to cast it back to the original data type safely. Would the reverse be true? It shouldn't.
Anyway, the only big compiler that bothers with strict aliasing is GCC, so if you really want to get kinky with pointers, you should really examine GCC's behaviour more than the C specification.