I have come up with part answers to my two questions. The remaining unanswered question is in the final line.

The question I can now answer, after some experimenting, is how to ensure that I can use small caps as part of the Alegreya family when I need to do so. This is how my definitions now look (the solutions are highlighted):

\definefontfamily [mainface] [rm] [alegreya] [sc=file:alegreyasc-bold]
\definefontfamily [mainface] [ss] [dax][tf=file:dax-regular]
\definefontfamily [mainface] [mm] [alegreya]
\setupbodyfont[mainface]

This now enables me to do: {\sc text in small caps} and the rest of the paragraph as normal (alegreya-regular)...

I also now know, using the same type of solution above, that I can use two different weights of Dax, as follows:

\definefontfamily [mainface] [ss] [dax][tf=file:dax-regular,bf=file:dax-medium]

which enables me to do as follows: {\ss\bf My subheading} and it will be in Dax-medium font.

But I also want to be able to use a second sans serif font, namely ITCAvantGardePro-Md. Can I have two 'mainface' definitions for [ss]? Or how would I achieve this?

Julian