.NET Framework 4.5以降の場合は、ArraySegment構造体を使うことによって配列の一部分をListに追加することができます。

ArraySegment構造体を使って配列の一部をListに追加する .NET Framework 4.5
using System;
using System.Collections.Generic;

class Sample {
  static void Main()
  {
    // Listへ格納したい内容をもった配列
    var source = new int[] {0, 1, 2, 3, 4};

    // 追加先となるList
    var list = new List<int>();

    // sourceのインデックス1から3つ分の要素をlistに追加する
    // (sourceのインデックス1から3つ分の要素を参照するArraySegmentを作成して追加する)
    list.AddRange(new ArraySegment<int>(source, 1, 3));

    Print(list);
  }

  static void Print(List<int> list)
  {
    foreach (var e in list) {
      Console.Write("{0}, ", e);
    }

    Console.WriteLine();
  }
}
実行結果
1, 2, 3,

.NET Framework 4.5より前のバージョンでは、ArraySegment構造体がIEnumerable<T>インターフェイスを実装していないため、AddRangeメソッドでArraySegment構造体を追加することはできません。

ArraySegment構造体について詳しくは部分配列 §.ArraySegment構造体を参照してください。