См. «Письмовник».
Вы правы. Верно: в городе Костомукше (как в городе Москве). Это склоняемое название.
В «Справочнике издателя и автора» А. Э. Мильчина, Л. К. Чельцовой указано, что «сокращение г. (город), как и полное слово, рекомендуется употреблять ограниченно, главным образом перед названиями городов, образованными от фамилий (г. Киров)». Однако на практике эта рекомендация почти никогда не соблюдается: сокращение г. и полное слово город употребляют перед названиями всех городов (в т. ч. оканчивающимися на -град, -город), это характерная черта канцелярской речи.
Лучше: агентство Казани.
Правильно: города Люберцы. Географические названия в сочетании с родовым словом не склоняются, если внешняя форма названия соответствует форме множественного числа.
Верно: Я из города Москвы.
Верно: города Сходни.
Корректно: ...учреждению Великого Новгорода. В канцелярской речи: ...города Великого Новгорода.
Корректно: мэр Москвы, мэр города Москвы.