Sort of.
One idea I had a while back was to make new spells with the same prereqs as many of the current spells, which did nothing but add an "autocast X" promotion. This promotion would wear off from attacking and casting, and would have a pyPerTurn effect (like the one Crown of Brillance has) that forces the unit to cast the spell once per turn.
Hmm...I just realized that I'm not sure whether this forced casting would remove the promotion. I don't think it does (as it doesn't stop the unit from casting something else), but if it does then there is a problem. It might also be appropriate for the spell to block castinf any spell but another spell that just removed the aurocast promotion, but I'm not sure how to do this without way too many python prereqs.