Hello Giuseppe,
Thanks very much for the interest in Hauptwerk.
[Topic moved here.]
It isn't currently possible to set up dedicated virtual pistons purely for the purposes of sending user-defined (and/or variable) MIDI bank/program change messages (for the purposes of controlling external voice expander patches, for example), I'm afraid, although we do have that logged as an enhancement request for the longer-term future. I'll add these notes to that enhancement request.
(Currently Hauptwerk's virtual pistons can actually send MIDI constant program change messages if they're configured to receive identical messages, but they can't send MIDI bank-select messages, or use variable program numbers, or have their existing functions disabled entirely, such as controlling virtual stops.)
I hope that helps, at least to some extent.