Is there a way
to automatically have TextMate change to a
specified theme based on the bundle that is selected? [...]
No, but it is a noted request.
I'd also like to have a separate theme per window.
That might be necessary in order to implement the other thing.