I think that, for the sort of cases outlined below, CheckUser could be used perhaps if the user themselves specifically said it would be OK.
ROTFL! It means that we should ask every sockpuppet for permission to check to see if he is a sockpuppet. :-D
If the sockpuppet is denying that it is a sockpuppet, it should be willing to give permission, ne?