Yes, you can set the variables in the query. Your syntax is actually pretty close.
For this you need:
SELECT @YourVariable = Column
FROM Animals
Note. You cannot use AS when assigning a field to a variable.
You must ensure that all fields in the request are assigned to a variable, otherwise you will receive the following error:
A SELECT statement that assigns a value to a variable should not be combined with data retrieval operations.
, AnimalName @AnimalName.
Edit:
DECLARE @AnimalName VARCHAR(20)
DECLARE @TallestAnimal INT
DECLARE @SmallestAnimal INT
SELECT @AnimalName = animal_name,
@TallestAnimal = (select top 1 height from animal order by height desc),
@SmallestAnimal = (select top 1 height from animal order by height asc)
FROM animals
WHERE height BETWEEN @SmallestAnimal AND @TallestAnimal
, INT.