See my astoptimizer project which allow to implement optimizations in Python rather than in C, and using the AST rather than the bytecode.
https://bitbucket.org/haypo/astoptimizer/
I plan to add something in Python 3.4 to be able to plug arbitrary AST hook, including astoptimizer.

The migration to an AST optimizer is a bit of a pie-in-the-sky project. Functionally, it doesn't have many benefits since the scope of legal static optimizations in Python is very narrow (due to the dynamic nature of the language). Therefore, the main benefit it would bring would be (presumably) easier maintenance.