If I understand correctly you want “both parts” of the service name to be dynamically filled.
<Port> - <Service name of the port>
This example from the docs looks like it could be what you are looking for:
https://icinga.com/docs/icinga2/latest/doc/03-monitoring-basics/#use-object-attributes-in-apply-rules
But I don’t know if this is possible with the Icinga Director.