is it possible to open an attribute table from the python console or through a python script in QGIS?
Yes you can, at least with the latest master version and 1.8. It is a method exposed via iface
You will need a preexisting reference to a QgsVectorLayer.
For direct editing of features it is also a method exposed via iface:
You will need a preexisting reference to a QgsVectorLayer and a QgsFeature in both cases. The feature form opened and whether it is editable are dependent upon app settings and whether the feature's layer is in edit mode.