You can try to adapt the scripting on the magical shield "Animated Shield". That magic armor allows you to equip an then when activated on the In-Play tab.
The most important line is probably:
Code:
perform hero.assign[Hero.ShldOffOK]
I think if you just put this line into an eval script with the same timing it should allow for an offhand shield but I haven't tested it...
EDIT: It works if you put that code above in an eval script running pre-levels 10000 on a copy of a non-magical shield. I would suggest putting after some doneif statments making sure its equipped and not disabled for some reason.