This you want to do, cannot be done with DNS only. DNS solves only addresses, not ports. To redirect HTTP to another port, you need an HTTP server. So we have two alternatives.
If the subdomain address (123.45.678.90) has port 80 free (which I don’t believe is the case, otherwise you wouldn’t want to use port 8180), you should put a web server answering port 80 and redirect any request to http://subdominio.meusite.com.br:8180.
If the subdomain address (123.45.678.90) is already using port 80 for the main domain (I believe this is your case), you should enable the use of Virtual Host on the 80 port server, because then a single Web server can serve several domains at the same address. In a virtual host you put the domain, in the other virtual host the subdomain that redirects everything to :8180.
The virtual host configuration varies according to the web server you are using, so I won’t go into detail.