Is it possible to have two working trees (two different branches) on the same local repository (== shared .git directory)?
Probably alternates could be helpful here to share one object store among multiple .git/-directories. Check for 'objects/info/alternates' at:
http://www.kernel.org/pub/software/scm/git/docs/gitrepository-layout.html