Я не знаю как должно быть по методологии SMACSS, я про неё ничего не знаю.
Если вам надо именно прям по методологии, то я не могу помочь. Я настолько не заморачиваюсь в этих методологиях.
Я бы действовал от логике:
- если это было бы индивидуально для сайдбара и этого модуля, то действовал бы как вы написал по БЭМ
- если бы это зависело именно от модуля, то есть везде этот margin, то модификатор вешал бы на модуль
- если этот модификатор будет у многих элементов сайдбара, контента или модулей, но НЕ ВСЕГДА, то можно сделать класс в layout, типа mt-40
- также может быть такое, что это всё таки layout: например первый элемент должен быть mt 20px, а последующие mt-40, соответственно тут надо будет делать через псевдоклассы :first-child, :nth-*
Мне кажется тут надо вдаваться не в методологию. а в логику. Что первично в данном случае, туда и вешаем модификатор. У вас же, похоже, это всё таки layout для sidebar и content, данный margin по идее должен применяться к ЛЮБОМУ модулю, помещённому внутрь, независимо photo, banner или slider вы поставите в данном месте, то есть, как я понимаю - это именно сетка. Вам надо не к модулю привязывать это, а
CSS:
l-content { margin-top: XXpx}
l-sidebar { margin-top: YYpx}
(ну или padding логичнее)