What does Comparer<T>.Create(...) let you do that implementing IComparer<T> by hand does not simplify?
var byLenThenAlpha = Comparer<string>.Create(
(a, b) => a.Length != b.Length
? a.Length.CompareTo(b.Length)
: string.CompareOrdinal(a, b));