I bet you're overthinking it! Use two separate LINQ queries, the first to get the groups, then choose one from the result, and then second to get the bottom invader of that group.
BTW, for the third edition we published the Windows Store version of Invaders as an open source project: http://invaders.codeplex.com/
-- if you want spoilers, you can see the ReturnFire() method in Model\InvadersModel.cs. But it's more satisfying to do it all on your own!