(A) more expensive than
any other city I have visited
this option is wrong, since shops are illogically compared to the city
(B) more expensive than
those in any other city I have visited
B nails the comparison and the verb tense! those correctly refers to shops
we use present perfect tense have/ has when we are talking about an event in the past but we don't know the exact time in past that is we are talking about an event in past that took place at an indefinite time!
(C) more expensive than
those in any city
I visitedoption C nailed the comparison however used the wrong verb tense(simple-past),
we should mention the time along with i visited for ex: i visited last week or last year etc
(D) as expensive as
any city I visited
shops are illogically compared to the city
(E) as expensive as any
other city I have visited
shops are illogically compared to the city