There is nothing wrong with the query but I got the syntax wrong when I replaced the static key with the variable.
ALTER PROCEDURE [dbo].[zPrintAll]
@PrintVariable varchar(10),
@SuppliedKey varchar(15)
AS
BEGIN
IF(@PrintVariable='ONE')
BEGIN
SELECT *
FROM Table1 INNER JOIN Table2 ON Table1.key=Table2.key
WHERE Table2.key=@SuppliedKey
END
IF(@PrintVariable='TWO')
BEGIN
SELECT *
FROM Table3 INNER JOIN Table4 ON Table3.key=Table4.key
WHERE Table3.key=@SuppliedKey
END
END
So, it is @SuppliedKey
instead of '@SuppliedKey'