Faction Ranks are not binary and have never been, including in FO3/FO:NV -> you have to create each rank starting at "0" and going up to "255" -> more then enough range to store almost anything you want.
Combined with GetFactionRank(GetPCRank in Morrowind) that exists in every game using Beth's engine from Morrowind to Skyrim you can store and check vs any value you want on a per actor basis.
Yes, in theory. The important part was the "at least that was the case in FONV because the functions to increase/decrease the faction rank per actor reference did not work". For the base actor it worked, but if you want to modify the faction rank of a single reference you have to use http://geck.gamesas.com/index.php/AddToFaction.The rank parameter passed to that has no effect, the rank will always be 0. And any other functions to modify the faction rank later for this reference will have no effect. At least thats what I remember from when I last tried it.
There are other ways to do it, all much more tedious (and to a certain extent less useful compatibility wise). I could make a buttload of different perks all with a set value multiplier and then check the player's level via quest script and add them when/where appropriate.
Yes, more tedious, but also safer. IMHO sometimes it's better to compromise on a slightly more tedious solution if that means it's less likely to cause trouble. You can claim this variable, but nobody will know. And maybe nobody will ever care. But the fact that this is probably only easy solution to set dynamic perk values makes me think others may want to do the same at some point.
1. The method using an Actor Value would scale all the way to whatever level the player may achieve (using uncapper/level scaling mods) using only one perk.
2.The method using multiple perks would only scale to whatever level I decide to stop at.
Well, you can work around this to some extend (have the script select the respective perk relative to the max level for example).