Route 104 is split in half by the Petalburg Woods, which are north of Mr. Briney's Cottage. You have to go through them to reach Rustboro City.
In Petalburg Woods, you can find Wurmple, Silcoon, Cascoon, Taillow, Shroomish, and Slakoth. Also, in Ruby and Sapphire you can find Zigzagoon, and in Emerald you can find Poochyena.
List of Trainers
In Petalburg Woods, you will encounter Bug Catcher Lyle, who; a Team Magma or Aqua Grunt who and
If you go east from the entrance of Petalburg Woods, you find someone who says that there might be hidden items on the ground. Go east into the grass and stand next to the one spot that has no grass. Turn to face that spot, then press A to check the ground there. You will get a Potion.
From there, you see an exit to the south. Go out through that exit and you will be in an area of Route 104 that you couldn't reach. Go south and check on the item to get a Poké Ball.
Return to Petalburg Woods and go west, then north. You find Bug Catcher Lyle. He has level 3 Wurmples (six in Ruby/Sapphire, four in Emerald). Northwest of him, there is a Parlyz Heal.
Go east from there, then north. You see someone looking around. He is a Devon Researcher. A Team Magma/Aqua Grunt attacks. The grunt has a level 9 Poochyena. After the battle, the researcher gives you a Great Ball. This is a better version of a Poké Ball. It has a better chance of catching pokémon. After that, go north, then west. There is a hidden Poké Ball in the corner to the west. Go north and you find Bug Catcher James, who has Nincada (a level 8 Nincada in Ruby/Sapphire, or two level 6 Nincadas in Emerald). North of him, you find an Ether. East of there, some trees are blocking your path, so you have to go north to leave the woods and enter the northern part of Route 104.