I understand that your looking for the minus equivalent of the sum that can handle NA values.
As far as I know there is no such standard ('builtin') function but you can make your own:
minus <- function(x) sum(x[1],na.rm=T) - sum(x[2],na.rm=T)
You can use this function on a pair of numbers :
> x=c(4,NA) ; minus(x)
[1] 4
and with the apply function on a data.frame e.g.
> df = data.frame(x=c(1,1,NA,NA),y=c(1,NA,1,NA))
> df
x y
1 1 1
2 1 NA
3 NA 1
4 NA NA
> apply(df[,c(1,2)],1,minus) # use columns 1 and 2 of df
[1] 0 1 -1 0
> apply(df[,c('x','y')],1,minus) # use columns x and y of df
[1] 0 1 -1 0
So in your case this could (I do not have the VIM package installed!) work :
NewVar = apply(test[,c('Sleep','Dream')],1,minus)