Further to the enquiry I made that prompted this I've done a little extra digging and as far as I can tell the maximum it could be is 12 arguments. This is based on dataio_8 where the 'materia' script has a KAWAI followed by 12 bytes, before the next script begins (again, based off the script offsets table). I ruled out a number of possibilities using various other field files and have it narrowed down to: 0, 3, 5, 8 or 11 arguments. Any other number and either the KAWAI is too long such that it overruns into the next script, or the script following the KAWAI (which obviously varies given that the remainder of the script depends on how many arguments this opcode has) causes the script to overrun into the next one, due to the number of arguments the remaining commands have being greater than the script size. I expect it's 8 'cos the resulting script 'looks' right - the others all contain a lot of unnecessary RETs since there's a lot of 00s around the opcode.
'course, it could just be some dodgy coding I've done.

But my logic seems to follow with the table offsets, otherwise there'd be at least a huge 255 jump between some of the offsets where a KAWAI appears, but I haven't seen offset shifts anywhere near this value where they have cropped up.
The byte after the opcode looks like a size to me.
Interesting... having checked a few I see either 05 or 0A as first argument. Subtract 2 (for whatever reason

) and it'd fit my suggested argument count. Is a variable length argument feasible given what you/people know about the scripting?
Btw as far as purpose goes, so far I have only seen this opcode on the following scripts for item pickups: materia, treasure boxes, potions.