No intentaría hacerlo todo en una sola consulta. Prefiero hacer varias consultas pequeñas y simples, una para cada tipo de entidad (publicación en el muro, comentario, etc.), luego ensamblar los resultados en código PHP y enviarlos al cliente.
No compliques demasiado las cosas, ya hay mucha complejidad. :-)
Ejemplos de consultas:
SELECT p.*, n.*
FROM notifications n
INNER JOIN wall_posts p ON p.id = n.item_id
WHERE n.type_id = 'wall_post' AND n.is_seen = 0;
ORDER BY time_stamp DESC
LIMIT 10;
SELECT c.*, n.*
FROM notifications n
INNER JOIN wall_comments c ON c.id = n.item_id
WHERE n.type_id = 'wall_post' AND n.is_seen = 0;
ORDER BY time_stamp DESC
LIMIT 10;