Guess you can calculate it separately, and correct the excitation energy with it..
However..
spin-orbit in ADF is far from good. for the same molecule with different electronic states, ADF will give the same spin-orbit correction. That means ground state and excited state will have the same spin-orbit calculation result, thus there is no correction can be made.
Nwchem will be a solution. Gamess might do it, but i wonder if it supports SO-ECP.