Well if I understand what you're saying, then you only want to do the WHERE when either both of your dates values are not null OR the country value is not null, so try something like:
WHERE ((tm.TrnDteRcvDate != null AND tm.trndtedate != null)
AND (CAST(CONVERT(VARCHAR, tm.TrnDteRcvDate, 101) AS DATETIME)
BETWEEN '01/19/2010' AND '01/20/2010')
AND (CAST(CONVERT(VARCHAR,tm.trndtedate,101) AS DATETIME)
BETWEEN '1/9/2010' AND '1/9/2010'))
OR (InvVarCoun != null AND InvVarCoun='United States')