Question related to sharing
You can hide the detail layout of the case from the target user going to the court trial.
Create a formula field, is courtgoing User Current user where formula is
$User.Id= Court_Going_User__c
Use Component visibility of lightning on your detail page layout,
and only display detail layout when is court going user current user is false.
- Also, you can also add a text area to tell the user that you cannot access the case data.
You don't have to worry about sharing , Your org seems to be LDV org so sharing table would be extensive, and altering the sharing table having millions of records is slow.
I agree List views would be pain, but if you show non sensetive information in them you can probably save yourself from sharing hell.