Filter Data to different data files on SQL server
Table By Table - You can relatively easily do this.  You need to create a filegroup, then a file in that filegroup and then you can move the tables you want to the new filegroup.  Use the CREATE INDEX syntax with DROP EXISTING=ON and specify the new filegroup.  

The clustered index is the table so moving them this way moves the table.  

Your alternatives are to use partitioning but that requires enterprise and you won't be able to control it the way you are discussing.  

MSDN CREATE INDEX

Example for AdventureWorks2014 and the Person.Person table.

USE [master];

--Creates a new filegroup.
ALTER DATABASE [AdventureWorks2014] ADD FILEGROUP [SLOW]

--Adds a file to the filegroup...
ALTER DATABASE [AdventureWorks2014] ADD FILE ( NAME = N'AdventureWorks2014_SlowSAN'
                                , FILENAME = N'C:\SQLData\JDF2014\Data\AdventureWorks2014_DataSlow.MDF' 
                                , SIZE = 524288KB 
                                , FILEGROWTH = 131072KB ) TO FILEGROUP [SLOW];


USE AdventureWorks2014

--Move the clustered index (which is the table) to the new filegroup.
CREATE UNIQUE CLUSTERED INDEX PK_Person_BusinessEntityID
    ON Person.Person (BusinessEntityID)
WITH (DROP_EXISTING =  ON )
ON SLOW
GO