Короче, помимо того, что умеет phpbb можно будет создавать группы, отличающиеся по двум критериям: уровневая, обычная. С ними работа такая же как и обычно, но в уровневые группы переходят те юзеры, которые этого заслуживают. Допустим, чтобы попасть в группу "Панки", то надо набрать 100 очков так называемых. Как ранги. НО, эти очки разными способами зарабатываются, например, юзер оставил хороший комментарий, тогда ему админ начислил 1 очко, написал статью - 2 или члены других групп повышают в должности юзера. Потом при активации всяких фич админ выбирает галочками какие группы видят её: анонимы (это никто, но у них своя группировка), и остальной список групп юзеров. Каждую группу тоже можно конфигурировать как угодно. Зарегистрированный юзер никуда не денется, он по-любому будет в группе, в любой.
Если юзер состоит в нескольких группах, то тогда его права определяются по самой высокопоставленной группе. Рядом же будет и система оценок юзера. Оценивать смогут те, кто состоят в группе, которая полномочна оценивать. Нынешнюю систему рангов после этого можно будет выкинуть.
Как алгоритм? Что по-вашему должно/не должно здесь быть?