LINQ じゃないけど

O/R マッピングの一環みたいなもんで、オブジェクトを SQL クエリ経由で(リフレクションなどを駆使して)操作するライブラリ、なんてものが Java にはあったりする。
実のところ、MSH*1 の pickup なんてのも似たようなもんだし、オブジェクトの配列に対して DataBiding してるときも似たようなつかみであるわけで、クエリを投げてリフレクション操作できるような感じのライブラリは探せばみつかるんじゃないかと思う。
.NET では Java よりもメタデータの情報量が多いのと、標準的に CustomAttribute でメタデータを追加できるので、それなりに複雑な機能を作りこめるかもしれない。コレクションの要素を行とし、フィールドとプロパティを列にして、GetXXXX() メソッドを計算列にしてしまう程度でも、

DataRow[] rows = ObjectTable.Adapter(this.Controls).Select(
                        "(Type IS 'System.Windows.Forms.Button') && (Enabled == true)");

foreach (DataRow row in rows)
{
  // 当然、ここも書き換えて Apply でもいいわけだが
  (row["this"].Value as Button).Enabled = false;
}

ぐらいならすぐかもしれない。DataTable 互換よりも ADO.NET の各インターフェスの実装クラスを並べるほうが面白そうだけど。

*1:id:ladybug:20050511 に簡単に触れているけど、Random thoughts on my interest あたりでよく取り上げられているので興味のある人はこちらにお邪魔すると良いでしょう。