I think the main thing you'd want to do to make git useful for human readable text, like laws or a novel, is to put each sentence on its own line.
By default, git's diff and merge want lines-of-code to be meaningful and are set up for that.
There's always git diff --word-diff, so a website tracking changes in laws in a Git repo could display diffs using that flag by default.
Yes.
Or you can write your own diff (and merge) driver and plug it in, git is flexible enough for that. At least in theory. The original idea was mostly to offer that to help with eg tracking of binary formats.
I'm not sure this feature is actually widely used enough to have gotten enough polish to be useful.
So in practice you might be better off changing your data format slightly, to make lines-of-text a meaningful thing, and then use git mostly as is.