The modifiers for the tab key are already taken for important window management tasks:
Ctrl+Tab cycles through tabs in the browser as it is the common shortcut for cycling through open documents in the same application. Shift+Ctrl+Tab goes backwards. Alt+Tab switches between running applications.
It would be unexpected, and highly annoying, for a single web page to affect window management shortcuts. I've seen flash video players do that and it's not good.
Asana does it the other way around and uses Tab as a modifier for their shortcuts.
Another thing to consider is that for many coders Tab is purely muscle memory. They don't think about what key to hit for indentation. If you're going to require anything else than simply Tab, they'll probably have a hard time using it. Therefore, in some cases, overriding the default behavior might not be as bad as the alternatives. Github does that in their online code editor. Having to deal with anything different than Tab would be severly annoying for 99% of their user base. Their editor was designed to support writing a lot of code, so apparently they deemed that more important than the default behavior.
Since any change from simply using Tab is going to be different from what people are used to, you might as well use a completely different combination:
You could use Ctrl+Space and Shift+Ctrl+Space.
For short snippets that are part of a larger form this approach might be a nice compromise. In fact I bet many coders will be happy to see any kind of proper indentation support besides having to hit the spacebar hundreds of times.
Plan B would be to add a mode switch. Let users decide if they want to enable editing indentation with the Tab, or leave it at its default behavior. This will prevent users getting stuck at the text area when tabbing through your form, but also gives them easy access to proper indentation when they need to write more than a few lines of code.
download bmml source – Wireframes created with Balsamiq Mockups
Ctrl + Tab
is the hotkey to cycle through tabs in Firefox and Chrome, so that may not be the best idea