Arturo muchas gracias por tu opinion al final quedo algo muy similar a la opción 2 y con esta idea en mente se logro hacer cosas como esta:
Código PHP:
Ver originalPost::published()
->for($category)
->in($date)->get();
Con eso se quitaron las consultas y ahora se entiende de forma mas sencilla el contexto del código, que creo va mas alineado al problema que se estaba resolviendo.
El caso fue para refactorizar un app en laravel.