Based on @biswajit-86 's feedback and some other information I found while googling this, I was able to get this to work. Here's what I did (image-heavy, sorry). It's based on Team City 8.2 which seems to be set up a little differently than the examples I came across.
1) Set up a VCS root. Key here is the %BranchName%
parameter.
2) Create a Build template and use the VCS root that was just created. I also added an MSBuild step as all of my builds need to run this.
3) Create a new build, based on the template. As you can see here, the %BrachName%
parameter that was created in step 1 is available.
4) If you need to change this later, it's available here
And that's pretty much it. For my CI build, I left the branch name empty so any branch that is checked in triggers the MSBuild step. For my QA build, I pass in "develop" as shown here and I have this set up on a daily schedule. I also have a "release" build set up, but based on our naming conventions it looks like I need to update the build to point to the specific branch per release.