A rather ugly - but still useful - monkeypatch:
# monkey-patch for auth.users
from django.models.auth import User
def user_pre_save(self):
if not self.password.startswith('sha1$'):
self.set_password(self.password)
User._pre_save = user_pre_save
Put this into your model file (or somewhere else that is loaded early on) and you will be able to set passwords in the admin by entering clear text passwords. If the password starts with 'sha1$', it is seen as already encrypted and nothing happens. If it doesn't start with that string, it is converted using the standard Django function for password encryption.
No, this isn't something that should go into core - it's far too ugly for that. But at least it allows you to set passwords through the admin, without requiring the user to calculate the actual password hash.