PeterH:
It would be simple to either modify the implementation of analogWrite() or create your own wrapper function around analogWrite() to store the data, and add a new API to retrieve it.
That seems a much simpler idea - "hide" the variable that holds the value sent to the PWM within an analogWrite class. I think it would be the equivalent of the servo.read() function - and similarly useful.
However I still think the simplicity, transparency and discipline of storing the value in your own variable has a lot to commend it.
...R