If you are a private employer, regardless of whether you are for-profit or non-profit, you have no legal obligation to post the opening publically, or at all. You are free, if you so choose, to reach into the organization and say, Joe, congrats, you are now the new Executive Director instead of the branch manager. Or, you can post it everywhere you like and refuse to accept any internal applications. It's entirely up to you.
For the most part, the employment laws are exactly the same for non-profits as for for-profits. There are one or two exceptions (for example, for-profits cannot use volunteers) but in almost all respects you are subject to the same laws and possessing of the same rights as a for-profit. The difference is in your tax status, not the laws regarding your employees.