Есть ли способ программно создавать группы, роли на текущем уровне сайта вместо создания на сайте верхнего уровня?
Спасибо,
Нет. Группы определяются на уровне семейства сайтов. Этот пост в блоге объясняет концепции безопасности SharePoint и более подробно:
Учебник по основам безопасности SharePoint