Only the 'core' part needs to be changed, it's not so hard.
The advantage would be to be able to calculate the electric dipole moment using the derivative of energy with respect to the electric field.
For details, see 6.101 and the explanation before it from Szabo & Ostlund, Modern Quantum Chemistry. Introduction to Advanced Electronic Structure Theory.
In principle the program should be able to use a different number of Gaussians in the inner shell than in the valence shell, so it could work with orbital sets like 3-21G or 6-21G. Maybe the parsing code should be changed for that, but it should be possible to use them.
Currently I'm implementing https://en.wikipedia.org/wiki/Coupled_cluster for the restricted method, hopefully that will succeed, but probably I'll postpone indefinitely the implementation for the unrestricted method.
First I noticed the wrong results by testing some * basis sets, but it turned out that the results are wrong even for STOnG if a D orbital is involved. As results come lower than the Hartree Fock limit, this is very probably a bug in integrals computation.
Together with some other things (not only time dependent but also time independent), they are for example briefly described in
'Introduction to the calculation of molecular properties by response theory' by Joulien Toulouse.
The derivatives could be computed numerically (central difference would be my choice).
In fact, they could be computed 'analytically', but I don't think I would use that method for this project, I suppose the post-HF things would complicate things even more.
They could be used for optimizations computations, that is, computation of molecular structure.
Also vibrational modes & frequencies could be computed.
Ideally, also the lines intensity...