When the invoice is generated, it is normally not saved on the server, so you can't link to it.
To solve your problem, you should make an own module. You would then write a controller that generates the invoice for a given order, you could for example provide that ID with the request. So for http://myshop.com/mymodule/mycontroller/myaction/id/123
, you could provide the customer with this link.
However, I would urge you to add some kind of validation to the link, as it could be a major data security issue if all one has to do is to change the number in the request. You could either generate a random token, store this in the order-table and dont show the order without that token, or you could ask the customer to provide the email address he used before he can see the invoice.