Возможно, вы захотите добавить кеш счетчика к адресу
belongs_to :country, :counter_cache => :companies_count
В нем хранится количество компаний в модели страны, что избавляет вас от вопроса N + 1.
В качестве альтернативы вы можете избежать этого, также выполнив один запрос, подобный этому:
Country.find(:all, :select => 'countries.*, count(addresses.id) as companies_count', :joins => 'LEFT JOIN addresses ON addresses.country_id = countries.id', :group => 'countries.id')
Таким образом, все возвращенные страны будут иметь поле companies_count, содержащее количество компаний для этой страны.