apart from the items above, begin and end are controversial. I like them, many do not. In any case, if you use them, you still want to ensure you have a GO after the end of your procedure definition.
No sp_, as noted above. You can do spArea or uspArea, but really, I prefer more normal names, like CalculateArea.
For parameters, you can use @area as the parameter you are calling. The call to the procedure doesn't remove @area from your namespace, as it's a parameter. I can do this:
CREATE PROCEDURE sp_area
@area int OUTPUT
BEGIN -- is optional
SELECT @area = @length * @width;
END -- is optional
DECLARE @Area int
@length = 100, @width = 50,
@area = @Area OUTPUT
SELECT @Area as totalArea;
Think about error handling if the procedure has an issue. Do you want the OUTPUT variable to return something here or remain as NULL? You might think about a RETURN value or some check before you start using @totalarea later in calculations.
OUTPUT variables aren't used a lot in the real world. More people return a result set and operate on that from a procedure.