Good question.
First of all, the appindicators are not Unity specific in any way. Actually, they run just as well on Xfce or KDE. It's very, very, simple to use. You'll create an indicator object, set the name of icons to use when it needs attention, etc, and simply attach menus to it. The indicators are then sent over dbus and properly displayed in a manner suitable for the current desktop environment. In Unity, Gnome Shell, Xfce and LXDE, it'll be displayed as GTK menus, and in KDE it'll be displayed as Qt menus, etc. Very neat. You can find more information about it here: http://unity.ubuntu.com/projects/appindicators/
In the right pane of Glade, you have a Signals page under Properties. Here you can simply type the name of the method to use as handler for that signal. In your code, you'll just create a gtk.Builder object, load the XML that Glade produces and use the gtk.Builder.connect_signals method to connect all your signals to their methods. This means you can use Glade interfaces in almost any programming language. Since that is so easy, and since languages are different by nature, it makes little sense to add coding to Glade itself. For coding Python (and other languages), I will recommend having a look at Geany ( http://apt.ubuntu.com/p/geany). It is a very good editor/IDE.
Other things in Unity are so new, there is little documentation, except as code examples. Some of the APIs are just now becoming stable, such as for Scopes and Lenses, which weren't even called that a little while ago. As a beginner, I'd wait a little bit before looking into those things.
The entries on the launcher, are actually just referred to as LauncherEntry in code, and it can use a progress bar, a counter and QuickLists. I haven't actually coded that myself, but this page has an example and it seems very easy, like the rest of the Unity APIs: http://bazaar.launchpad.net/~unity-team/libunity/trunk/view/head:/examples/launcher.py
The short answer is no.
PyGTK is being phased out and replaced with PyGObject as the widget set upgrades from GTK+2 to GTK+3. As of Oneiric all 'native' ubuntu applications run using the GTK+3 set.
On a personal note, fairly recently I started developing an application in Python, and having looked into it I decided to use Python3 with PySide (which is Qt4 instead of GTK+3) because I found that Python 3 would be the standard in the year or so it took me to write the program, and because Qt4 has a some very good documentation, and some first class development software (just have a trail of Qt 4 Designer...)
Best Answer
I don't have much experience with it myself (I personally like to work in gedit), but for the sake of completeness we really should mention Anjuta
. It is part of the GNOME project, and includes many of the features you are interested in.
Focus on C/C++, but extensible with plugins. Some support for Python and Vala.
Integrated Glade user interface designer.
Version control integration with at least Git, CVS, and Subversion.
Project management and autotools support.
Integrated debugger including breakpoints, ect... Backed by gdb.
GTK+/GNOME Devhelp API help browser integration.
Valgrind plugin to profile programs for memory leaks.