All:
I want to use kdiff to merge all files with a certain suffix (say *.c, *.h) and I want to do two things (turn off premerge and use internal:other) for all files
According to this Mercurial MergeToolConfiguration page, you should put the interal:other directly after the match pattern:
interal:other
[merge-patterns] **.mdl = internal:other