Yeah, you don't want to be messing with formatting there. Probably going to break things.
Actually, the existing code already has a mechanism for treating immediate data as signed, but it's a little hacky itself. Basically, all immediate data is automatically signed-extended and always disassembles as unsigned. However, if you set bool EffectiveAddress::dataSignExtended, you can get it to disassemble as signed data.
Apparently, this alternate behavior is only implemented for MOVEQ. That instruction has the immediate data embedded in the opcode, so it uses a different overload of EffectiveAddress::BuildImmediateData() that accepts a parameter to set the sign extend flag. You can modify the other EffectiveAddress::BuildImmediateData() to accept the same, and it should work just as well.
Although, I'm not quite sure why you're modifying the data in order to fit the EASy68K syntax. It seems that LINK A6, #-($0B) would displace the stack pointer by an odd number(!), which would cause a very nasty problem. Exodus should handle the conversion correctly in the manner described above, giving the correct output for EASy68K: LINK A6, #-$0C.