Can I run electrical cable in old unused heating ducts?
I will let someone else weigh in on the NEC compliance, but likely it is allowed (I am guessing it is the same as retrofitting and fishing a wire through an empty wall cavity).

However, I would definitely not do this with NM wire, since there's a high chance there are sharp metal edges and other protrusions that can damage the wire creating a safety and fire hazard. BX (armoured) would be more appropriate, and easier than trying to get NM through conduit and into the vents.