Cita: ¿y si además quiero mostrar sólo los pedidos con estado = 6?
por ejemplo el cliente querrá ver sólo los pedidos con estado "con artículos sin stock"
Después tengo es resto de campos que tengo que ir adinando al Where en caso de que haya datos.
No. Lo que haces es crear las consultas dinámicamente por medio de programación, agregando o sacando condiciones, según se necesite.
De todos modos lo mejor es definir previamente cuáles son las consultas que se pueden llegar a realizar,
antes de diseñar las clases DAC que se comunicarán con la base para obtener los datos. Hacerlo sobre la marcha sólo te traerá dolores de cabeza.
Crear consultas a medida que el sistema está siendo programado es la mejor manera de terminar haciendo métodos redundantes o solapados.
Cuando puedas escribir en una sola hora todas las consultas básicas posibles que necesites, es muy, muy probable, que veas que muchas de esas se superponen en condiciones, por lo que bien podrías reducir la lógica de construcción a unos pocos SP o bien métodos de clase DAC.
Por supuesto que eso implica algo que los programadores no quieren hacer habitualmente: Planificar requerimientos.
Pero, bueno, es un consejo.