OP's sentence is poor English regardless of which preposition is used. A more natural version is...
...mismatch between some areas of training and the jobs [that are] available to them.
(for could be used instead of to above - it's largely a matter of style).
Note that available jobs uses available as a simple "stand-alone" adjective. Grammatically we could only explicitly link it to them using some contrived form such as "available-to-them" jobs, but this isn't normally necessary since context invariably makes it clear who the jobs are available to (or not, as the case may be), so "they" don't actually need to be explicitly mentioned.
In light of the above, I would say that although technically speaking it's "grammatical" to write...
...mismatch between some areas of training and available jobs for them. (note - "to" is always invalid)
...this is only in the same way that "hourly-paid jobs for them" is grammatical. Those jobs really are "hourly-paid" to anyone, not just if worked by "them". By the same token, OP's jobs are "available" to anyone, not just "them".
But whereas jobs hourly-paid to/for them probably makes no sense, jobs available to/for them does. So we're drawn to erroneously interpret OP's available as semantically applying to them, even though grammatically it doesn't.
Thus structurally OP's sentence encourages mis-parsing, and should be avoided.