Pos para SQL Lite no se como se haría, pero te pongo un ejemplo del sp, la invocación desde Lazarus con ZeosDB que me parece es el que usas es simple, usa un componente que sino estoy mal es el TzStoredProcedure, este control se encarga de todo, solo le pasas los valores de los parámetros y ya.
Código SQL
[-]
CREATE PROCEDURE spTest
@A VARCHAR(10),
@B VARCHAR(10),
@C VARCHAR(10)
AS
BEGIN
DECLARE @SQL VARCHAR(2000);
SET @SQL = 'SELECT COLUMNA1, COLUMNA2, COLUMNA3, COLUMNA4 FROM TABLA WHERE ';
IF @A IS NOT NULL
SET @SQL = @SQL + 'TABLA.CAMPO1 = ' + @A;
END;
IF @B IS NOT NULL
SET @SQL = @SQL + 'TABLA.CAMPO2 = ' + @B;
END;
IF @C IS NOT NULL
SET @SQL = @SQL + 'TABLA.CAMPO3 = ' + @C;
END;
EXEC(@SQL);
END;