Of course you can make TM scope aware and such, but AFAIK the completion mechanism can't be modified. Your bundle can be very refined but you will always have to use ESC and press again and again until you find the option you need...
The built in completion (ESC by default) might not be able to be modified (it actually can a little), but almost every language has one or several completion commands in the bundle. Check out PyRopes, and also the PHP bundle has a couple different great completion commands.