Did you consider Scrivener? I'm not sure about version control, but it's supposed to handle references and definitely handles the composition-from-smaller-parts thing. It's designed for long works. I used the windows beta for a fairly long school paper, and it helped a lot.