Instead of creating views, why not make an inline table-valued function - effectively a parameterized view.  You basically get all the benefits of views AND parameters.

Another thing you can do in your TVF is something like this:

    SELECT yourtable.*
    FROM yourtable
    INNER JOIN ranges
        ON yourtable.date BETWEEN ranges.start AND ranges.end
    WHERE ranges.name = @range_name

Now your ranges have names (in a table where they can be easily managed without changing the schema).

Also, consider avoiding BETWEEN: http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil-have-in-common.aspx