A man in Pacific Log Town will tell you whether or not he can see Mirage Island each and every day, or every 6 hours. Then you can surf there from Pacific Log Town.
Only in ruby, sapphire and emerald this is possible. To get there you must get the grand prize of the lottery and have the Pokemon that won it in your party then surf east of pacifidlog town to reach...
Complete pokedex. Go to Pacificlog town. In one of the houses you will find an old couple. Ask the man if he can see it then surf at extreme right from the house. It varies on the weather conditions.