You can save that last $+ by including the : in your $+(). For that matter, if you include it, you can have the final ] as a ] instead of a $chr because the : next to it would prevent evaluation.
on ^*:TEXT:*:#:{
echo -t $chan $+($chr(91),$nick,]:) $1-
haltdef
}
Of course, putting the : next to the ] in the original would also work.
on ^*:text:*:#:{
echo -t $chan [ $+ $nick $+ ]: $1-
haltdef
}