I there a way for me, behind a NAT, to pass an address for someone to connect to a port open on my machine?
(You can also, in these settings, manually forward individual ports, or use DMZ to forward all ports to a single machine.)
Some ISPs don't even give you a real IPv4 address though (they use CGNAT). THEN you have no hope.
That is the case with most people I know: not even the router has a "real ip". Don't know how things have improved with ipv6 though.
Also, in my country, best plans you can get take an optical fiber to your house directly connected to an ISP provided router. You're fully locked out of doing anything with the router except powering it.
If you don't have any control of an IP address, you cannot be connected to through software that is not "special" (i.e., software that only uses IP to connect). As a matter of logic.