The existing behavior tree system does have limited "say" and "teamsay" actions available which take a string argument.
The best course of action would be to break up the current high level actions into their own behavior tree based behaviors ( e.g. action fight becomes a bunch of sequences, selectors, and conditions and low level actions like "fire" ). Then you could add say actions wherever you want among the behavior's code. Long ago, I nearly broke up the fight action ( which is definitely the most complex of all the behaviors ) just using behavior tree logic, so it is definitely possible.
The current system allows you to integrate these complex behaviors just by using "behavior <filename>" where <filename> is the name of a file that contains the other behavior tree.
I'm rather busy with real life atm, so I don't think I will be able to do this myself.