In essence, you need to write the reverse of the usual riding scripts.
Instead of having the horse follow the player, you need to have the NPC positioned relative to the horse. You also have to account for the fact both may change cells, and at different times (I'd just keep them in one cell, don't let them go between cells, it'll be much easier).
Otherwise, just put something like this on the NPC:
Set pX to "horse"->GetPos XSet pY to "horse"->GetPos YSet pZ to "horse"->GetPos Z"self"->SetPos X pX"self"->SetPos Y pY"self"->SetPos Z pZ
Now, that can't take care of rotation, but rotation doesn't work (right) on NPCs (sometimes). You might be able to use "self"->Position or PositionCell to do it with rotation. You'll need to equip riding pants.
That also assumes the center of the horse, for positioning and rotation, is directly under the saddle. If it's set further forward or back, you'll need to involve trig to place the PC in the right spot.