No, that's not possible. The port is not part of the hostname, so it has no meaning in the hosts-file.
hosts
If you really need to do this, use reverse proxy.
For example, with nginx as reverse proxy
server { listen api.mydomain.com:80; server_name api.mydomain.com; location / { proxy_pass http://127.0.0.1:8000; }}