Since you will have different menu items (this is the major part of what you said that is determining my answer), I believe that two master views would be the better approach rather than having either:
a) a If/Else in your master view or
b) a ton of configuration entries that you would have to parse on each request, and
c) Provides an easier path for more custom theme-ing in the future if so requested or needed.
But, there are definitely ways to reduce the amount of code that you need to write and avoid duplication. Below are some suggestions that I would recommend
1.Use the same logic as you do with your DB query settings to set the master page depending on the team. Example:
<appSettings>
<add key="team" value = "WhateverYouAlreadyHave"/>
<add key="layout" value = "~/Views/Shared/team.master"/>
</appSettings>
2.In your views, specify your layout view in the top portion as so:
@{
ViewBag.Title = "My Page Title";
Layout = @ConfigurationManager.AppSettings("layout");
}
3.In your master views, factor our the JS and CSS into a shared partial view that you can call from the master pages
@{Html.RenderPartial("HeadContent");}
I believe that this achieves your goals of not repeating yourself in your layout information as well as cuts down the potential need of If/Else statements in your master views. Lastly, if you ever had to separate out the sites (different servers or something) you should be able to do that quickly without having dead code floating around your views.
Lastly, I suppose an alternative solution would be to keep a single layout file, but reverse what goes into the shared partial view. Meaning you could store the header image as a configuration value as well as the shared partial view name. In this instance, put your menus in their own partial view that you could call from a single master. However, if you really wanted to provide custom layout/look/theme in the future, this would be more problematic to achieve with a single master page.