yes! yes! and yes! also you wont a fishing rod! he is near every grane city!
the vast majority of water type pokemon, excluding magikarp and i think feebas. If you have something that knows surf, odds are it can learn dive
Since dive is not a HM in firered you will have to trade a Pokemon to a friend that has ruby, sapphire or emerald then using that game use the HM Dive to teach the move Dive to that Pokemon trade it back so firered can have that Pokemon again it will still have Dive however you cannot use it to dive underwater.
There's no TM dive in pokemon fire red but there is in emerald, saphirre and ruby. But the way is to level up pokemon (seel level 41,dewgong level 45) to get TM dive (in firered).
Dive is not an HM in firered but if you trade a Pokemon that can learn dive to ruby, sapphire or emerald then teach it dive then trade it back it will still have dive however you cannot use it outside of battle.
You have to dive beside Sootopolis in different spots until you find one with an entrance, then you will find the sub. dive on route 128 and look for a cavern it should be there
ever grande city with super rod
use the superrod in the water outside ever grande city
There are unlimited Heart Scales in Ruby because Luvdisc sometimes carry them around.
Heartscales are hidden underwater you can also get some by catching luvdisc.
Catch a bunch of luvdisc they can hold heart scale.
most water Pokemon
Use Dive.
by going to um i think on of the houses in lilcove city
the same Pokemon as sapphire sealeo luvdisc whiscash seaking milotic
you need some HMS such as dive strenght and rock smash
I think you need certain pokemon and dive to get to it. when you get to the cave, you must walk a certain pattern
Tentacool, Relicanth.