/nds !protect, all:
Applin, Beldum, Blipbug, Cascoon, Caterpie, Combee, Cosmoem, Cosmog, Ditto, Kakuna, Kricketot, Magikarp, Metapod, Scatterbug, Silcoon, Tynamo, Unown, Weedle, Wobbuffet, Wurmple, Wynaut
/nds !substitute, all:
Applin, Beldum, Blipbug, Burmy, Cascoon, Caterpie, Combee, Cosmoem, Cosmog, Ditto, Kakuna, Kricketot, Magikarp, Metapod, Scatterbug, Silcoon, Spewpa, Tynamo, Unown, Weedle, Wobbuffet, Wurmple, Wynaut
Beyond Regigigas gaining Protect in Gen 8, its availability has been the same since its introduction, beyond the addition of new Pokémon of course. For Substitute though, in Generation 2, it wasn't learnable from a Move Tutor or TM, so its list of Pokémon unable to learn it was quite large.
/ds2, !substitute, all (91 results)
Aipom, Ampharos, Ariados, Azumarill, Bayleef, Caterpie, Celebi, Chikorita, Chinchou, Cleffa, Corsola, Croconaw, Cyndaquil, Delibird, Ditto, Donphan, Dunsparce, Elekid, Entei, Feraligatr, Flaaffy, Furret, Girafarig, Gligar, Granbull, Heracross, Hitmontop, Ho-Oh, Hoothoot, Hoppip, Houndoom, Houndour, Igglybuff, Jumpluff, Kakuna, Lanturn, Larvitar, Ledian, Ledyba, Lugia, Magby, Magcargo, Magikarp, Mantine, Mareep, Marill, Meganium, Metapod, Miltank, Misdreavus, Murkrow, Natu, Noctowl, Octillery, Phanpy, Pichu, Piloswine, Pupitar, Quagsire, Quilava, Qwilfish, Raikou, Remoraid, Sentret, Shuckle, Skarmory, Skiploom, Slugma, Smoochum, Sneasel, Snubbull, Spinarak, Stantler, Suicune, Sunflora, Sunkern, Swinub, Teddiursa, Togepi, Togetic, Totodile, Typhlosion, Tyranitar, Tyrogue, Unown, Ursaring, Weedle, Wobbuffet, Wooper, Xatu, Yanma