Дано 100 ID. По условию задачи нужно для каждого ID получить по N записей. Наверное, лучше уж сотню запросов сделать, чем сотню UNION или JOIN. Поэтому на данный момент единственным решением видится N+1:
SELECT ... WHERE ID = 1 LIMIT 5
SELECT ... WHERE ID = 2 LIMIT 5
SELECT ... WHERE ID = 3 LIMIT 5
...
SELECT ... WHERE ID = 100 LIMIT 5
Группировкой можно получить только по одной записи:
SELECT * FROM TABLE WHERE ID IN (1, 2, ..100) GROUP BY ID.