It would almost certainly be more efficient to retrieve the list of country names in a single query, and to only save the changes after adding all of the offers to the context:
var countries = db.COUNTRIES
.Where(e => countryId.Contains(e.alfa1))
.Select(e => e.countryName)
.AsEnumerable()
.Select(name => new OFFERS_COUNTRIES
{
country_name = name
});
db.OFFERS_COUNTRIES.AddRange(countries);
db.SaveChanges();