In most states in the United States we are what is called an at-will employee. That means that an employer can choose to hire or fire us for virtually any reason, as long as the reason is not illegal. Illegal would be race, age (over 40,) religion, and so on. Absolutely, an employer has the right to forbid an employee from disparaging the company, either through contract or simply by firing an employee after he has done so. The only exception to this would be that the National Labor Relation's Board protects employees right to speak out in relation to concerted protected activity. This is a complicated concept which essentially relates to the right to unionize, and it applies to all companies,regardless of whether they have unions.
It is not a violation of freedom of speech or expression for a private employer to prevent an employee from speaking. The Constitution and its amendments only come into play when a government actor of some kind is involved.