Yeah, graphics in CivDOS are quite hacky...
Even though some PIC files contain their own palette (same data as in PAL files), Civ will *still* sometimes load palette from a PAL file, then load PIC data from the PIC file, disregarding palette data...
It's also possible that JCivEd doesn't save Palette data correctly after you edited it, I should check that too
Also, different PAL files (and PAL data inside PIC files) will only span some color ranges, usually that complement each other, but that can also overlap..... Adding to the complexity of knowing from which palette data the actual shown color will be taken.
And let us not forget: some colour routines are simply hard-coding colours during the rendering process.....
The 6-bit vs 8-bit certainly has something to do with the down-shading of colors, as I am pretty sure CivDOS will pad 6-bit color values to 8-bit by left-shifting and pre-pend 2 additional bits (to the right) same as the 2 left-most bits. I'm just stating this from memory, but pretty sure that's what happens.
Also: JCivEd does NOT support any standard palette formats, sorry about that. If I can find some time, I will try to see in more details what's going on with your problem, and hopefully find a solution.
Keep up the good work !
Cheers