None that I can think of. Scalability might be an issue, if you have many topic mappings, because you'd have to create (copy/paste/edit) one node pair for each mapping. But it is visual programming after all.
There are other solutions, of course, but this is by far the easiest one, if your topic mappings are limited in number.
By doing so, I'm broadcasting the message two times over the network.
payload: 1 coming from topic1
payload: 1 going to pump topic
payload: 1 coming from topic1
I know that is nothing, but will increase network traffic and also consume some RAM.
I thought that was possible to use some variable like:
You said initially that you wanted to alias topics, and we assumed you mean that you want them to appear as aliases in MQTT. If you just want to refer to them by different topics once into node-red then all you need to do is use Change nodes to set the topics to whatever you want.
All I meant was to feed the MQTT In into a Change node to change the topic to whatever you wanted. However perhaps what you are looking for is to use environment variables. You could set an environment variable called pump, set it to "drive/relay1" and then in the MQTT nodes you can use ${pump} and node red will replace that with "drive/relay1". How you set environment variables in your OS depends on the OS.