created a system DSN using native client and setting multisubnetfailover property
then
EXEC master.dbo.sp_addlinkedserver @server = N'servername', @srvproduct=N'', @provider=N'MSDASQL', @datasrc=N'dsn_name', @provstr=N'Driver={SQL Server}'
haven't tested what happens in the event of a failover yet