Before I answer this, we'll clear up some definitions so we're on the same page.
- DVs or determinant values are the Gen 1 and 2 equivalent of what we now call IVs or individual values. DVs range from 0 to 15 (as opposed to 0 to 31 with IVs), and were determined differently to IVs.
- Stat Exp. is a lesser used term to refer to Gen 1 and 2's equivalent of modern-day EVs, or effort values. Stat Exp. was quite different to the EV system we've used from Gen 3 onward.
So with that, each question addressed individually:
Can I train on any Pokemon and eventually obtain max stat EXP?
Since there exist no Pokemon with a base stat of zero, yes, you will eventually cap out Stat Exp. in all stats by knocking out any Pokemon repeatedly.
The mechanics behind this aren't too difficult to understand. Every time your Pokemon knocks out an enemy, that enemy awards 'stat points' to your Pokemon, like with EVs. However, the amount it awards is not based on a yield, but on its base stats -- and points are added to every one of your Pokemon's stats, not a predetermined set like under the current system. So if your Pokemon knocked out a Mew, it would get 100 stat points in every one of its stats, because Mew's base stats are 100 all-around.
The other key difference is that Stat Exp. caps out at 65,535 points per stat, not 252* like with EVs, and there was no overall limit like there is with the 510 EV limit. Obviously stats were also determined differently in Gen 1 and 2, so those sixty-thousand points don't have absurd influence over the Pokemon's real stat. (The numbers are provided here; Gen 1 and 2 Stat Exp. is square rooted in the stat formula, which effectively puts it in the same proportion as the modern limit.)
Mechanics aside, literally all you need to do if you want to max out Stat Exp. is have your Pokemon knock out other Pokemon. So if you want to do it the fastest, find something that has consistently good base stats across the board and repeatedly knock it out. It's nowhere near as methodical as modern EVs.
* Side note, EVs used to cap at 255 per stat in Gen 3 to 5, but the developers changed this to 252 in Gen 6.
Where can I find Pokemon's base and max stats for this generation?
Since the physical-special split happened in Gen 2, pretty much all the base stats you see in modern Pokedex pages will be accurate for Gen 2 as well. The only exceptions will be Pokemon whose base stats have been changed since then, of which there is not a huge amount. They are listed here and here if you want to keep track; the first page has Gen 7 changes, and the second has Gen 6 changes. Some websites manually make note of this.
With max stats, there is a listing of the max stats for each Pokemon in Gen 2 listed here on Psypokes. They're very similar to the modern ones -- the only differences come from natures (which didn't exist in Gen 2), and from the game rounding down √65535. So max HP will always be 1 point less than in Gen 3 onward, and every other maximum will be about 10% lower than Gen 3 to 7.
Press Ctrl+F
in your browser if you want to search for a specific Pokemon on those lists.
A simple explanation (or link to one) regarding hidden power calculations would also be helpful.
Honestly, no such thing exists really. Hidden Power has always been awful to calculate. The best explanation of it that I know is this one on Bulbapedia. It has a bit of computing terminology that might be tricky to grasp, but it does give mathematical alternatives to the binary method the game actually uses, and is otherwise faithful to the real process. So basically, if you're at least somewhat knowledgeable in computing theory or algebra, this should do fine. If you have any questions about it, let me know.