>The problem certainly has to do with poor optimization. In the first case SQL server cannot optimize the query because it has no clue on what is going to be in @Altern_ID. Therefore it is scanning indexes. The reason the TOP 1 is faster is because it stops scanning when it finds a match.
If that is the case, how can we explain that with the other field, I never had this problem?