If I understand your question :
Method 1
In Kontakt, you can create an “Instrument bank”. It’s a container with 128 slots. In each slot, you can put any patch you want : thus creating your own articulation set. Then, in your expression map, you access each slot of your instrument bank with a “Program Change” action. Beware, instrument bank slots are indexed from 1 to 128 while Program Change from 0 to 127 !
Method 2
If in a given Kontakt instance you prefer to use different channels for your articulations, you can still access them through Channel change action (more info here).
Bonus method
If for whatever reason you want to dedicate a voice of your instrument to a particular patch, just activate the “Enable independant playback of voices” switch of chosen instrument in the Play tab (more info here).
I learnt methods 1 and 2 by studying @MiloDC Spitfire SSO playback template shared here. I don’t know which method is most efficient RAM-wise (probably using instrument banks ?), personally I only use method 1 currently. Bonus method was discussed here.
However, as @dko22 mentioned, if your are talking of Spitfire SSO, portamento legato should be in standard articulation sets of all instruments (woodwinds, brass and strings), using “legato” patch with low velocities.