Creo que quieres poner el between dentro de tu where dependiendo el case o el if correcto?? si es asi lo que te recomiendo es que hagas un query dinamico
    
Código SQL:
Ver original- DECLARE @query VARCHAR(MAX) 
-   
- SET @query='select * from tabla where ' 
-   
- IF @condicion=1 THEN 
- BEGIN 
-    SET @query=@query + '@fecha between fecha1 and fecha2' 
- END 
- ELSE 
-    BEGIN 
-       SET @query=@query + '@fecha between fecha3 and fecha4'  
-    END 
-   
- EXEC Sp_sqlExec @query 
Saludos!