Inverse Projection and Depth Buffer

Have you searched the forum? A quick search seems to turn up a few examples.

No, I think that you can get the depth buffer results without writing a shader. This thread seems to have useful information, and I believe that the “Motion Trails” sample program demonstrates (indirectly, I think) a means of doing this by adding a new rendering texture to an extant graphics output (such as the default Panda window). See this API entry, and the one below it, for more information.