Не уверен, что это предусмотрено ModX, поэтому предлагаю решение на PHP:
1) создается форма для пользовательского ввода
2) создается скрипт-обработчик, на который POST-запросом отправляется пользовательский ввод
Скрипт-обработчик подключается к базе данных, используемой ModX (_db), и в таблицу _site_content c помощью INSERT добавляет строку с заданными параметрами pagetitle, content, parent и т.д. (всё, как Вы хотите) и, конечно, published = 0 (страница не опубликована).
3) Как принимать изменения? Или находить в дереве вновь созданную страницу (ресурс) и нажимать галочку "Опубликовать", либо написать скрипт для легкого принятия/непринятия новых неопубликованных страниц.