A couple of years ago I went down this route of thinking I would add CSV support to sort, and then let myself get distracted into trying to follow https://paulfitz.github.io/2017/01/24/the-year-of-poop-on-the-desktop.html instead. The problem with that is that coreutils doesn't work with multibyte field separators. That discovery led me to make the multibyte fixes in https://github.com/ericfischer/coreutils/tree/multibyte-squash so that my sorting and other transformations would work. They have been sitting in unreviewed limbo ever since, but they are still there if you want them.
Eric