Раз никто не отвечает напишу кратко свое мнение, хотя оно затрагивает не все вопросы.
Думаю, что вполне можно попробовать mongodb. Теги, категории и т.п. хранить в самих постах в массивах. Для лент использовать отдельные коллекции, обновлять их в случае изменения пользователем настроек ленты.
Насчет домашней страницы - я не совсем понял что там можно изменять, так что ничего не скажу.
Несколько шардов можно сделать, если база будет не справляться. Тут надо будет смотреть узкие места и тогда решать, что именно и как разносить.