You could read the timer register couldn't you? (eg. OCR2A)
But that makes your code pretty processor-dependent. As the others said, you already know what value you have sent to the analogWrite function. Why not just save that byte somewhere?
I just generally try to make my programms as efficient as possible ...
You should also try to make them as readable and maintainable as possible.