For 2. it should be pretty simple (with a new option though) that will not require a space after a comma:
Cf. llvm-project/TokenAnnotator.cpp at e01f624adb0ed5d0f1369b0679a64484bac10d02 · llvm/llvm-project (github.com)
It may be tricky though to handle only commas inside function calls, because unless I’m mistaken, they’re not annotated as TT_FunctionCallComma or anything alike. If you want to distinguish function calls and function signatures, then there should be a distinction too.