If you don't do video....

50D is my pick and 40D if you are on a rather tight budget.

Yes, 7D would ideal... in fact a 1D is THE most ideal but can you justify the extra $