Is it unethical for a company to use seniority for a basis for promotion?
This is a debatable issue.
On the one hand, using seniority clearly discriminates against people who have been in a firm for less time. It discriminates against them on a basis that is not connected to job performance. On that ground, it could be seen as unethical.
However, the case can be made that it is important to promote people with seniority. Such policies give people incentives to stay with a firm for a long time. Keeping continuity in a workforce can be a very important thing for a firm. It can provide stability for the firm since it is not constantly having to find new employees.
A firm should be very upfront about its policies in this regard. That way, potential new hires can decide for themselves if they want to be in a firm that promotes on the basis of seniority. This would do a great deal to mitigate any ethical problems.