Selection of Indexes in SQL Query
As Oleg mentions, you really should normalize.  For your scenarios, though:

A - I would use an index on City INCLUDE ([name]) - you don't need to sort by name as well  but you do want that field at the leaf level of the index.

B - I'm not sure what you are asking here.  If you have an auto-incrementing ID then that should be your clustered index.

There's a lot of reasons to use an auto-incrementing ID as your clustered key.  I won't go in depth on these (there are a ton of resources, and Kim Tripp is a really good place to start):


Will only insert new records at the end of the index
Narrow (since it will be a part of every other index)
Unique (keeps it narrow since non-unique indexes need a "uniqueifier" additional int added)
Non-nullable