I don't see how it's possible, you must make the file available publicly (obviously encrypted) or make direct connection between Bob and Alice.
The closest think i could think are modifying your 2nd/3rd idea where Bob knows Alice's PGP public key previously and use it to encrypt file to be sent.