Have you tried with the --pre flag?
Normally, pip will ignore beta versions unless you specify --pre to allow pre-releases. It seems there is some special case if it can only find pre-releases - pygame has never been installable from PyPI before, so pip doesn't find any earlier version to use and decides to accept the pre-release. But maybe this only happens when you install something directly, not when it's looking for a dependency.