The short answer yes. You can build a custom login page with some additional logic that “ registers” the user for a new account. Look at some of the account creation logic in the account overview page might help as well.
If you want to build a signup page, you need to activate anonymous user access to it. You can also build a customized login page in the modeler with anonymous access. There is a learning path explaining this.