List<string>.SortやArray.Sortの場合は、IComparerを用意しなくてもComparison<string>デリゲートに適合するメソッドがあれば良いので、これらのメソッドでCompareOptionsを使用したい場合は次のようにできます。 以下の例では、CompareOptions.IgnoreWidthを用いて全角半角の違いを無視してソートしています。

CompareOptionsを使用して全角半角の違いを無視して配列をソートする
using System;
using System.Collections.Generic;
using System.Globalization;

class Sample {
  // 文字列の比較を行うメソッド
  static int CompareIgnoreWidth(string x, string y)
  {
    return String.Compare(x, y, CultureInfo.InvariantCulture, CompareOptions.IgnoreWidth);
  }

  static void Main()
  {
    string[] wordArray = new string[] {"foo", "Foo", "foo", "FOO", "FOO", "Foo"};

    Console.WriteLine("before sort                    : {0}", String.Join(", ", wordArray));

    Array.Sort(wordArray, CompareIgnoreWidth);

    Console.WriteLine("CompareIgnoreWidth             : {0}", String.Join(", ", wordArray));

    Array.Sort(wordArray, StringComparer.InvariantCulture);

    Console.WriteLine("StringComparer.InvariantCulture: {0}", String.Join(", ", wordArray));

    Array.Sort(wordArray, StringComparer.Ordinal);

    Console.WriteLine("StringComparer.Ordinal         : {0}", String.Join(", ", wordArray));
  }
}
実行結果
before sort                    : foo, Foo, foo, FOO, FOO, Foo
CompareIgnoreWidth             : foo, foo, Foo, Foo, FOO, FOO
StringComparer.InvariantCulture: foo, foo, Foo, FOO, Foo, FOO
StringComparer.Ordinal         : FOO, Foo, foo, FOO, Foo, foo

Comparison<T>デリゲートについては大小関係の定義と比較 §.Comparison<T>を参照してください。