He is not planning on leaving Canada at all and I heard that if he is currently here, and has been for some time, he cannot apply outland because he is here. I was told that if we do decide to apply from outside Canada, then he must be outside Canada, unless he is visitng here for a short period of time, say a few weeks or a month at tops on a vacation.
This is incorrect. You always have the right to apply via your own visa office. There is no residency requirement for applying outland, i.e. you could be anywhere in the world when you apply, it does not matter.
However, make sure to still list how long he's been in Canada, where it asks about his activity, addresses, etc. And if he plans to stay, make sure he retains legal status. Also be aware that if he is scheduled for an interview, he'll have to be able to leave Canada to attend it.