The following functionality already works on the GeForce 8800, Go 6800, and probably many others. This is just a request for a change in the spec to ensure it keeps working in the future.
The spec change:
Reading a value from the framebuffer or a texture that is bound for both reading and writing, such as in an FBO, should be guaranteed to return the correct value (the value of that pixel prior to beginning the current rendering pass) if a write to that location has not yet been done in the current pass, for any primitive. After a write has been done in the current pass, for any primitive, a subsequent read from the same location is undefined.
This would allow multipass techniques without the two-texture ping-pong requirement in many cases.