I would say that generating your own pseudopotentials (PPs) is not so difficult within SIESTA. You could use the ATOM program for PP generation that you can find the /Pseudo/atom/ subfolder of your SIESTA distribution path.
In any case, as it's easy to generate a PP it's not so trivial to generate a "good" one; with good pseudopotential I don't mean only that it should be accurate enough to "mimic" the all-electron energy levels and wavefunctions but that it should be "transferable" as well. In other words the PP that you generate for an atom should be in principle used also for that same atom in a molecule or in a surface and so on.
As regard your question about vdW PPs: each PP is generated within a specific exchange-correlation functional and it's of course recommended to use the same that you are planning to use during the productive calculations with your generated and tested PP. This means that in the generation phase you can as well use vdW functional in all their possible flavours.
To learn how to practically generate them you can refer to the ATOM manual:
In atoms manual, it is not discussed extensively. it simply says to put vdw type functional in the input file. when we put vw functional in the input, it won't generate the pseudo-potential.