Правильно раздельное написание. Обратите внимание: не действующая 7 лет – причастный оборот, который в позиции после определяемого слова должен обособляться.
Дело в том, что у слова год существует две формы родительного падежа множественного числа: годов и лет (вторая форма - супплетивная, то есть образованная от другой основы). При этом форма лет используется в счетных конструкциях: пять лет, много лет и т. п.; но: в начале 90-х годов.
Указанная запятая не нужна.
Корректно: 20 лет служения милосердию.
В предложениях такого типа никакие знаки не нужны. Однако при желании интонационно разделить предложение на две части можно поставить тире.
Допустимы варианты с предлогом и без предлога, буквенное наращение после цифр не требуется.
Корректно: улица Сорока лет Октября и т. п.
"Читать мораль" в значении "поучать, наставлять" - корректное сочетание. В словарях оно отмечается как разговорное.
Это выражение не противоречит нормам русского языка.