I'm firmly in the camp that you can pick up a language in a weekend. I was once given an interview question to implement a hydrocarbon naming application in Ruby. This was a take-home question, btw, I emailed them my answer:
Given a diagram of a hydrocarbon, give its (algorithmically generatable) name. Trivial? Not really. I didn't know Ruby. I didn't know enough organic chemistry to really understand the question. They knew I didn't know either of these things (they asked).
In the span of a week, working about 2 hours a day and keeping them up-to-date on my progress as I went, I researched hydrocarbons, their naming scheme, and Ruby, and implemented a pretty awesome little program that named hydrocarbons. You needed graph theory (which I /did/ know) to do the solution, and the algorithm was, as usual, much more intellectually challenging than the programming language or vagaries of the problem domain. The question would have been a little easier if I'd known the implementation language or the hydrocarbon naming rules beforehand, but not by much.
The only languages worth learning if you don't foresee using them immediately are ones that expand your brain. Those include your first functional language, Prolog, APL, the first language you learn with pointers, and the first assembly language. You should ideally get those in college, although I missed out on Prolog and APL and never did pick them up (ONE of these days...). Perl 6, Ruby, Python, C#, Java, COBOL, FORTRAN, Octave/Matlab, PHP (ugh), Pascal, and other "normal" languages do very little to really expand your cognitive model of programming.
The first functional programming language with garbage collection was released in 1958. The fundamentals of CS change slowly. VERY slowly. It's important to keep up with them when they change. That's not hard, though.
My attitude toward jobs and training is this: I will know the fundamentals, meaning the basic concepts and building blocks in the field. I will remain current with them because I'm working in the field and, even if not, I enjoy doing relevant stuff in my spare time. You get that when you hire me. You also get whatever skills I happen to know because I needed them for something in the past.
You need me to start coding PHP? COBOL? Visual Basic 6? Whitespace? Fine. But you'll have to pay me to flail around for a week or so while I figure a few things out. Languages and libraries are "learned" through memorization. Memorized facts go away when you don't use them. I'm not going to waste my time learning COBOL. I'll forget it before I need it.
Something fundamental changes? I'm on it. Nothing fundamental changes? I'll pick up whatever suits my hobby.