What will determin, which nodes will get a reward? Completly random is gameable by setting up loads of fake nodes.
"Proportional to stake" solves this problem. It will also probably cost money to activate a node account.
Is it possible to test a node and see if it actually helps to secure the network, by letting it process a test transaction/block? Is it possible to record how long a node has been active?
Yes, that's the point of this tool. It will monitor nodes and if they are dead for too long or have poor performance - decrease or eliminate reward.