Sí se puede, al menos con la última versión maestra y la 1.8. Es un método expuesto a través de iface
// C++ (signature)
void showAttributeTable (QgsVectorLayer *l)
# PyQGIS (example)
iface.showAttributeTable(iface.activeLayer())
Necesitará una referencia preexistente a un QgsVectorLayer.
Para la edición directa de características también es un método expuesto a través de iface :
// C++ (signature)
bool openFeatureForm (QgsVectorLayer *l, QgsFeature &f, bool updateFeatureOnly=false)
# PyQGIS (example)
iface.openFeatureForm(iface.activeLayer(), feature, False)
Necesitará una referencia preexistente a un QgsVectorLayer y a un QgsFeature en ambos casos. La forma de la característica abierta y si es editable dependen de la configuración de la aplicación y de si la capa de la característica está en modo de edición.