Фраза 'for 10 years' указывает на продолжительность действия, которое началось в прошлом и продолжается до сих пор. Это Present Perfect Continuous. Однако, Present Perfect ('have lived') также может использоваться для указания на продолжительность действия, которое все еще происходит. В данном случае, оба варианта грамматически возможны, но 'have been living' подчеркивает именно непрерывность действия. Если бы речь шла о результате, то 'have lived' было бы более уместно. Но для указания на длительность проживания в городе, 'have been living' часто предпочтительнее.
Ответ: b. have been living