You forgot a space between ]) in the on part event, it should work for the rest.
for /inc, /dec, /set and /var you don't need as much evaluation, since you don't want to set the current value of the %var to a new value, you want to set the %var itself
This one's a tiny little bit shorter, maybe not more clear though...
on !*:join:#:inc -u1 $+(%,jpflood.,$chan,.,$nick)
on !@*:part:#:if ($($+(%,jpflood.,$chan,.,$nick),2)) ban $chan $nick 2
ps: $(stuff,2) is the same as $eval(stuff,2)