The only way to get to mirage island is by having the the old man in the lowest right house say he sees the island, then just surf left. =D
Chat with our AI personalities
Get the grand prize from the lottery in lilycove city and make sure the Pokemon who won was in your party go to pacifidlog town and go into the bottom right house talk to the old guy he will say he can see mirage island! Use surf and go east until you reach the island.
Just go to the guy in pacifidlog town everyday and eventually you will be able to go and it is eastward from where you are his house * Every day, Mirage Island is given a random number. In order for you to be able to go there, the number has to match a number from a Pokemon in your party. It's super rare to get a match, and most trainers will never gain access to the island. Just adding to the previous answer (:
you have to beat the elite four and go the cleio (you'll find him in the Pokemon centre on the first island) and find the ruby and sapphire. then he gives you the sevii island pass
insere Sapphire gba in your ds and go to iron island 1st floor.
Talk to the man in pacificlog town at the far right, he'll tell you if he sees the island or not. If he does, surf to the right side of the sea until you reach the island.