The only way to find a DeepSeaTooth on Ruby, Sapphire or Emerald, is to give the scanner from the abandoned ship to Capt. Sterm in Slateport. When you do that, you can choose to get either the DeepSeaTooth or scale.
In Pokemon Diamond and Pearl, you can get a new DeepSeaTooth on wild Carvahna or Shapedo. There is a 5% chance that one of these Pokemon will be holding one when you encounter it.