I think the MAP_ID you can indeed set in the xtce file, something like this should work:
<MetaCommand...>
<AncillaryDataSet>
<AncillaryData name="Yamcs:CcsdsMapId">3</AncillaryData>
</AncillaryDataSet>
...
For the VCID you would have to configure the different VCIDs in the link config, each VCID with a different stream. There is no way to specify in XTCE the stream on which a command is sent. However, you can define in the stream configuration which commands are routed to which stream using patterns. See the tcPatterns
section here:
For the by-pass, I'm not sure I have any option to set it automatically based on the command :(
I think we should allow setting the default for the command attributes based on XTCE ancillary data properties, like the above CcsdsMapId. However, that requires some development, and I cannot promise it will be done soon unless we find someone to sponsor it...
nicolae