Конечно, вы можете написать это в одну короткую строку, используя регулярное выражение:
string output = Regex.Replace("ABCdef123", "[a-z]", "*"); // output = "ABC***123"
Улучшенная версия, основанная на комментарии Арто, которая обрабатывает все символы Юникода в нижнем регистре:
string output = Regex.Replace("ABCdefëï123", "\p{Ll}", "*"); // output = "ABC*****123"