My fiance works for a major ISP in the US. She started in sales while we were living in NY, but I got a really good offer for a gamedev position in CA and we both moved across country. She transferred her position to be a dispatcher for techs, which came with a significant pay cut (no commission, similar hourly rate).
They have a well defined training/progression system where you study IT materials they provide, take a few in-person courses, and pass some tests in order to get a new title, more responsibilities, and a raise.
She's one of the fastest people to progress from 1 to 2 (~4 months), her manager is scheduling the in-person courses for 3 ahead of time.
There's an office closer to where we live that does support for business class customers, they're looking at maybe bending the rules on how long you have to wait between internal transfers since she'd probably be more valuable there and it would be closer to home.
If you take the path of hiring employees that you train, you should work with them and give them raises as they're trained to get them closer to market rate. A lot of them will want to stay. At least for long enough to recoup the cost of training them. Also consider how many of those people don't have the right qualifications on paper but could pick up the necessary skills quickly. They'd be underpaid for a while, offsetting the cost of the people who need more training or are slower to learn.
Tangentially related, my job gave me relocation for both of us. If I leave my job before a full year, I'll owe all of it back. It makes sense for relocation since that's generally money the company gives you up front (that counts as a bonus, and is taxed as such). The only way I can see this applied to training would be if the employer covered the cost of taking courses at a local college or something like that. If you have your own in-house training staff, I'd count it more as a benefit of the job than a conditional bonus.