Is there software that allows me to use my Macbook Pro as a second monitor for iMac?
I personally use AirDisplay for this purpose, as it is the only application that I have found that enables the secondary screen to be able to display video or other high frame rate objects at a reasonable speed.

I have also experimented highly with Screen Recycler as well as just strait VNC which is included with the OS, however my issue with those has been with tearing of visual elements when dragging windows as well as the inability to show videos, keynotes, websites or even scroll word documents and have the second display appear fluid.