Lanturn is indeed an excellent choice, particularly if trained to light up when it finds something. Because its light is so intense, it’s possible to use a team of lanturn to minimize the amount of time a human needs to dive (or fish) by having them do all the hunting and signal to the surface when they find something. Starmie can be used for the same purpose, but in both cases, be sure that their abilities aren’t Illuminate. The last thing you want is to attract more pokémon during their hunt.
Alternatively, strangely enough, magikarp might be handy in this case. Most water-dwelling pokémon leave them alone (either because they aren’t worthy prey or because they often evolve into gyarados mid-hunt), and magikarp are hardy enough to survive in the roughest territory—including anywhere treasure might be.
If your treasure-hunting friend is interested in accompanying their pokémon on a dive, use literally any pokémon that can use Dive. Mantine tend to be popular in Johto for this, as are dewgong and many starters. You may also wish to consider something capable of battling (such as bruxish or gyarados) to protect yourself from wild water pokémon.
Legendaries, of course, aren’t particularly recommended, not because they shouldn’t be caught but instead because many of them possess abilities that will be useless for treasure hunting at best. At worst, they might actually inadvertently kill you.