There are situations where you may want to store clear text passwords so I won't repeat the advice everybody else has, although it's usually sound.
Besides setting the collation, you can also use the varbinary trick like so:
WHERE
CAST(Password as varbinary(20)) = CAST(@Password as varbinary(20)) AND
CAST(Username as varbinary(20)) = CAST(@Username as varbinary(20))
The above will also result in a case sensitive search - just remember to set the varbinary length to the same as the field lengths.
To avoid index scans, you can include the case insensitive search as well - that'll make an index seek and the perform the varbinary search afterwards:
WHERE
Password = @Password AND
Username = @Username AND
CAST(Password as varbinary(20)) = CAST(@Password as varbinary(20)) AND
CAST(Username as varbinary(20)) = CAST(@Username as varbinary(20))