Non è che mi sia proprio chiaro quale sia il problema.
Dentro una stored puoi creare uno statement preparato (AHAHAHAHA ) per compilare il comando in modo "simile" a PHP
codice:
CREATE PROCEDURE boh(IN elencoprotocolli VARCHAR(255),elencodestinazioni VARCHAR(255) 
...
SET @miaquery = CONCAT('SELECT * FROM tabella WHERE anno=2015 AND protocolli IN (', elencoprotocolli, ') AND destinazioni IN(',elencodestinazioni,')');
  PREPARE comando FROM @miaquery;
  EXECUTE comando;
  DEALLOCATE PREPARE comando;