You can create a Work Item with Direct Links query that resembles the following:
Note that I used the inverse check on the tasks. Looking for stories that have tasks that are done or removed doesn't exclude the stories that still have tasks that are in to do or in progress. But looking for stories that have no tasks that are in to do or in progress, leaves the stories that have no tasks or have only tasks in removed or done state.
Note that this won't find stories with open tasks when the tasks are nested. The only way to get these is to use a SQL query against the warehouse.
You might also want to have a look at th eBacklog Overview Report which shows your stories and the remaining work for all tasks. If your team is doing estimations and is updating these fields, then the report will show you exactly which stories are ready (and which stories have all their tests pass)
It is similar to the Stories Overview Report from the Agile Template and should be deployed with your TFS project when you have reporting enabled. (Note: this won't work on Visual Studio Online at present)