I did some digging into the DB, and don't see a way to identify availability other than since the last flap. There are some route flapping statistics, but I don't think NPM intended to record the routing availability. Here is the SQL version of basically what you have.
rp.DisplayName AS RoutingProtocol,
rpsm.DisplayName AS ProtocolStatus,
FROM NPM_RoutingNeighbor AS rn
LEFT JOIN NodesData AS nd
LEFT JOIN NPM_RoutingProtocolStateMapping AS rpsm
LEFT JOIN NPM_RoutingProtocol AS rp
If you were to retain the changes on another DB, you might be able to start looking at availability.