Sim, é possível criar um formulário personalizado para login.
Por exemplo, crei um novo form, coloque campos para informar o usuário e senha. Coloque um botão validar e crie uma propriedade do Tipo User Control.
Ex: property UserControl: TUserControl.
No clique do botão validar você pode fazer assim:
if UserControl.VerificaLogin(EdtLogin.Text, EdtSenha.Text) = 0 then
begin
// login ok
end
else
begin
// erro login
end;
E por fim, para o componente saber que precisar usar o seu formulário, faça o seguinte: No evento OnCustomLoginForm do userControl informe a ele o seu form.
Veja este exemplo:
procedure TFrmPrincipal.UserControl1CustomLoginForm(Sender: TObject;
var CustomForm: TCustomForm);
begin
CustomForm := TfrmLogin.Create(Application);
TfrmLogin(CustomForm).UserControl := Self.UserControlMain;
end;