Another missing feature, although a bit of a niche one, is something I've also developed my own approach to and call 'Relative Level' or 'RelLevel' for short.
It came about when my ability to regularly visit Kew was coming to an end. I wanted to prioritise who I was going to research while I could still easily access information at TNA.
I have to confess that I regularly add people to my database who are not conventionally related to me. Some people would regard this as a sin, but for both practical and interest reasons I prefer to add people who may not be directly related, but who do have a connection of some kind. For example, I would add the spouse of a cousin, but then also possibly add the parents and siblings of the spouse (depending on circumstances). This particularly applies to some of my Norfolk families where there are multiple connections and I found out quite early on that it saved a lot of time just to add the whole of each family in one go, rather than individually as and when I inevitably found another connection

I've looked, but never found a system which grades or measures the closeness of two people - most family history software seems to limit itself to blood relations and either reports the nature of the relationship (e.g. X cousin Y-times removed) or unhelpfully "Not related".
My rather crude approach (it was done in a hurry) assigns a RelLevel of '1' to blood relations. Those married to a blood relation get a RelLevel of '2'. The parents and siblings of a RelLevel 2 person get a '3', and the people married to a '3' will have a RelLevel of '4'. This repeats adding one to the RelLevel until all people related by blood or marriage or marriage+blood have been assigned a RelLevel. So in effect, all my "Not related" people are graded according to how close they are to being 'conventionally' related. I have written a Visual Basic module within an Access database to do the RelLevel calculations quickly, although not yet 'on the fly'.
I find this RelLevel useful in two ways:
Firstly the original purpose of prioritising my research - when a new dataset comes available I always start by looking for 1's then 2's etc. If I have limited time at an archive I order the jobs I want to do by RelLevel so the most important ones get done first.
Secondly, when adding new people to my tree (database) I use the RelLevel to help decide whether to add the whole family, to only add the parents, or to only record the names of parents in the person's 'notes' field.
As I said, something of a niche requirement! I'd be interested to hear if anyone else has done something similar, or indeed if there is a recognised methodology.