Yes & no...
I don't know that specific book, but if it was up-to-date in 2000 then the material in it should still be valid to learn about how things work under the hood.
However, you do not really need to know anything about linking and loading to understand variables and pointers.
Nor do you need to understand symbol tables as such. A symbol table is a data structure used by compilers to track variables during compilation as part of translating the program code your write into the instructions the CPU understands.
The concepts of variables and pointers in programming languages are abstractions of the concepts of memory locations and memory addresses at the CPU level (which themselves are in some sense abstractions of lower-level stuff, ending up with circuits and, if you dig deep enough, electrons! ;-))
What you should be looking for is a book on programming language concepts rather then compiling, linking and loading. A good book will introduce variables and types, then composites such as arrays and records, and end up with objects (which are essentially just variables you'll discover). Types and variables go together, one says how to interpret a collection of bits the other provides somewhere to keep collections of bits. A pointer is a value (collection of bits) of some pointer type, just as an integer is a value of some integer type.
Variables and pointers are not difficult concepts, but they are often misunderstood - plenty of questions on SO stem from misunderstandings of these concepts - so your quest is good, go and read! Apologies, but I've no reference to hand.