Can you access the depth buffer and render its content on a texture with python?
Have you seen the sample programs, specifically the Advanced Shadow sample? The sample programs are shipped with any SDK installation of Panda3D, and they are also available as separate download on the download page.
Wow… thats pretty complex