It may depend on what you really need, like do you need for all 4 to be read at the same time?
I will try explain by example: I have code that I have played with to try to understand when any of 4 electrical circuits are active by using a simple sensor (coil) wrapped around some AC circuits (Well pumps), and when it is running it creates an AC like signal converted to analog voltage... So I do samples of the circuits Lets say (60*50) times per second speed I may do reads of each of the 4 for maybe a tenth of a second, 5 full 60hz cycles and do a quick RMS calculation to know if that circuit is active and about how much current.... But only 2 ADCs and I want to do 4...
So I alternate every 10th second or so between each of two sets... Which for my usage is more than frequent enough...
That is one approach...
There is another approach and we have/had examples of this (@mjs513), which we never fully integrated into the ADC library. We started off rolling our own version (ADCL_t4) it is up on github... But not a completed project, it was used by a few us to understand enough of ADC stuff to be able to help people migrate to T4 who used the ADC library... But then Pedvide worked with us to integrate most of the support directly into the main ADC library.
Again it has been awhile, but our DMA code I believe already works using the ADC_ETC code, where you can setup a trigger chain. More or less we are setup to a trigger chain of 1 item (the ADC pin)
but I believe for each of the two ADC channels you can set up a chain of like 8 analog pins (or touch controller)...
So if I remember @mjs513 example we setup a chain with reading multiple pins by updating registers like: ADC_ETC_TRIG0_CHAIN_1_0
plus you need to setup some other registers for what these are and... All of this is in chapter 66 of the T4 manual... Warning after reading through these chapters (also the ADC), XBAR, ... several dozen times, it is still clear as mud to me.