If you want to use a material emission then you will need to define the material. I think you can do it locally in the creature raws and then make the emission draw a local mat, not sure of syntax. So in this case make your nasty melty goop complete with contact syndrome be part of your monster, actually in his definition as blood or something, make him immune to it, then make him emit it. This way not only is he spitting his own blood (a material you just name 'acid' so that it always looks right no matter the context), but he will bleed it too.
If the spit visual effect is less important then just make it an interaction with syndrome, you create the interaction and add the syndrome in the interaction file, then just give the critter the interaction in it's RAWs. You can still make the attack fairly easy to notice when its being used by getting the interaction to output to the log. (since you wont actually have a trailing-flow or whatever to highlight the spitting)
Heres an example acid interaction that oughta work. I stopped whoever can use it from stacking it on victims, gave it pain, blisters, bleeding and a good shot at temporary blindness lasting well until the rest are scars.
[INTERACTION:ACID]
[I_SOURCE:CREATURE_ACTION]
[I_TARGET:C:CREATURE]
[IT_LOCATION:CONTEXT_CREATURE]
[IT_CANNOT_TARGET_IF_ALREADY_AFFECTED]
[IT_MANUAL_INPUT:target]
[IT_CANNOT_HAVE_SYNDROME_CLASS:ACID]
[I_EFFECT:ADD_SYNDROME]
[IE_TARGET:C]
[IE_IMMEDIATE]
[SYNDROME]
[SYN_CLASS:ACID]
[SYN_NAME:acid]
[SYN_AFFECTED_CLASS:GENERAL_POISON]
[CE_PAIN:SEV:350:PROB:100:BP:BY_CATEGORY:ALL:SKIN:START:1:PEAK:900:END:1000]
[CE_BLISTERS:SEV:350:PROB:100:BP:BY_CATEGORY:ALL:SKIN:START:1:PEAK:900:END:1000]
[CE_BLEEDING:SEV:500:PROB:90:RESISTABLE:LOCALIZED:VASCULAR_ONLY:START:100:PEAK:900:END:1000]
[CE_IMPAIR_FUNCTION:SEV:70:BP:BY_TYPE:SIGHT:ALL:PROB:80:RESISTABLE:START:1:PEAK:1000:END:15000]
I tried something much like the above once without stopping it from being layered and the critter spammed it a lot, anyone suffering the syndrome above is also immune to it, all the way out to 15000 ticks when the blindness wears off (or at 1000 if no blinding). Durations/sev/prob are the easy tweaks anyway. Im also not sure about the multiple redundancy of cannot_target_if_already_affected and cannot_have_syndrome_class but it seems to work.
Just need to give the critter the interact.