One trick you might try is to use make the coordinateMethod = grid. This pushes the texture UVs around the grid. For the texture use billow. With the right settings you can create a single spherical blob of texture in the fluid:
textureType billow
coordinateMethod grid
coordinateSpeed 1
depthMax 1
frequency .1
textureOriginZ 0.165
billowDensity 0.05
randomness 0
This blob then will get pushed around in a fashion similar to density, but will not break up, but instead get streaky like taffy.
Note that you could also texture Color and set different colors in the colorRamp. The colors will get get pushed around with the texture and keep their hard boundaries.
It would be tricky if you wanted to start with blobs of different colors. If you are doing it in 2d, you can use the outCoordinate attribute on the fluidTexture2D(coordMethod = grid) to drive the uv coordinates of a 2d texture such as file.
Duncan