Canadane is right. It's to prevent the game from being automated. If your using a controller you can set the controller to activate macro 98 and 99 with L3 and R3. Then if your creative enough you can make a hidden hotbar of macro's.

As for the 'but you can just do it with a program'. Yes you can but 3rd party programs are against ToS or dont ask, dont tell for parsers.

And no you cannot make custom animations but you can make custom emotes using the existing animations and changing the text.