There is not a way to do this for emotes because emotes are all* available under the same conditions. Macros can't do random; they can only prioritize and run the first available action. If you try to do this with emotes, it will just always do the first emote and ignore the rest.

* The exception is if for emotes that are only available in a certain position (standing, sitting, mounted, etc). In this case being in an invalid position will skip the emote and execute the first one that is valid in your current position.