Вам нужно будет либо неявно указывать имена свойств в ваших анонимных типах, либо использовать массив объектов
var array = new[] { new { val1= A, val2=B }, new { val1=X, val2=Y } };
или
var array = new object [] { new { A, B }, new { X, Y } };
Однако давайте возьмем этосделайте шаг вперед и используйте кортежи yehaa, более короткий синтаксис, типизированный и более лаконичный
var array = new[] { (A, B), (X, Y) };
или именованные кортежи, лучший из всех миров
var array = new (int something ,int another)[] { (A, B), (X, Y) };