In Oblivion, OBSE provided a quick one-shot method, objRef.IsOffLimits (activatorRef), which checks if the objRef is ok for the activatorRef to activate.
In Skyrim, I'm currently using:
If (!horseRef.GetActorOwner () || horseRef.GetActorOwner () == playerRef.GetActorBase ()) && (!horseRef.GetFactionOwner () || horseRef.GetFactionOwner () == PlayerFaction) //ok to activateEndIfEDIT: I think I need to also add "&& (playerRef.IsInFaction (horseRef.GetFactionOwner ())".