Use 150Ω resistor to convert 0-20mA current to 0-3V voltage ..
Next, you may use 12-bit (or whatever you need) A/D 3-wire converter such as LTC1288, connect its /CS pin to GND, and use 3 optocouplers to isolate CLK, Din and Dout .. see picture below ..
Of course, to provide total isolation between ADC and µC you will also need 3V-to-3V dc-dc converter ..
i think there are two possible ways to over come this problem
first one
use opto coupler at the end of the 0-20mA or convert in to voltage by using opAmp then feed into the optocoupler then calculate the value of resistor in such a way that u get the approximate change at the output with respect to input .... i know it is difficult but not impossible
second method
use ADC with isolated Analog GND then there is no problem for u
but first method is prefered when u are using the Microcontroller (with ADC built in)