What about adding a preference for tabs that works like this:
When checked, any file clicked on in the project drawer is automatically added as a tab. This is the current behavior.
When unchecked, you must command-click (or something like that) to add a file to the tab bar.
This would work well for me, because many times I'm working on a set of files, but i must refer to other files temporarily (eg to check an interface). I always forget to close those files and I end up with a lot of extra files in my tabs that I don't want open for more than a moment.
The idea above would allow you to have a set of open tabbed files that comprise your working set. Files that are not specifically opened as a tab will only appear while you are looking at them. When they are being viewed, all the tabs will be in the off state. When you click a tab again, the temporary file will disappear. To look at it again you must choose it from the project drawer.
Come to think of it, this is a bit like the behavior of Safari or Firefox. Imagine if every page you clicked on became a new tab in your browser.
Ed