Ignoring the horrible val part. Should you use intermediate variables? Yes if it makes the code more comprehensible. In the case you posted I don't believe it does, but that's only my opinion.
Seeing as you are using VB.net, don't worry about the extra memory required, the compiler will deal with that. In an interpreted language it could be an issue, but code is not written for computers to "understand", it's written for programmers to. Always go for comprehensible first. You can make it incomprehensible once you are sure it's correct...