Paying only Canadian players from any government grant funds, sounds good in principle but there are aspects that make it both impracticable and unworkable. What about Americans who spend their off seasons here? What about Americans who now play as Canadians (Singleton etc)? Would the Players Association agree to a situation that discriminates against half of its members? What about the damage it would do to future recruitment of American players?
As appealing as the idea first seems, it unfortunately, is just not feasible.