Я не знаю, является ли это лучшим доступным решением, но вы можете реализовать пользовательскую задачу MSBuild, которая читает файл csproj или vbproject (или любой другой) и изменяет его в зависимости от некоторого свойства MSBuild, установленного целевым вызывающим абонентом.
Проекты Visual Studio являются действительными файлами XML, поэтому вы можете использовать XmlDocument или XDocument.
Ваша пользовательская задача будет выглядеть следующим образом:
<changeMSSQLVersion Version="2008" Files="@(ProjectFile)" />