You can; python supports all sorts of dynamic jiggery-pokery with classes and objects (and don't even get me started on metaclasses, which thank God I haven't actually needed yet).
As for incorporating Lua, I really don't think it makes sense. Lua is not enough simpler or more flexible than python to warrant the burden of mixing languages.
Yeah, that pretty much sums it up; Lua will be uneccesary if everything is already done in Python.
Great! In that case, I better start learning Python!
You won't regret it. To me, Python was love at first sight.
One more question about scripting: Is there a way to "sandbox" the scripts so that certain things are off limits? It might be useful for security + stability purposes.
Erm... that is a good question. I have never (needed to) done something like this yet, but I'm sure it is possible.
That said, though I can understand one not wanting a user-contributed script to mess with the player's files and such, when was the last time someone did something malicious like that with a real-world game? (there are many examples of games that are very naive in how they treat addons/mods, and very few examples of them getting actually maliciously exploited)