The scope of something (function, variable, macro, etc.) in a program is the range of code that it applies to. For instance, a variable can have "local-to-function" scope (local to a particular function; this would mean the variable can only be used inside the function), local to a class (variable only useable inside the class), or global (useable from anywhere). Depending on the programming language, there may be other scopes for variables or functions that are possible as well.
In some programming languages, special things happen when variables go in and out of scope. For example, memory may be allocated to hold data, or memory may be freed when variables go out of scope (since a variable cannot be used out-of-scope, there is no way to use it once it goes out of scope, so it's safe to recycle any memory it's holding1 when it goes out of scope). Scope is also useful as an error-checking (programmer-oriented) mechanism. If you define variables only within the scope where they are supposed to be used, many languages will give an error (often compile error) if there is an attempt to use the variables out-of-scope. This is true, for instance, in C, C++, and Java.
Scope can also avoid polluting the namespace. If you had a large program that involved 20,000 variables (totaling over all the different parts of the program) and they all had global scope, you could accidentally overwrite variables you didn't know you were using elsewhere or you could find it annoying to find a name you hadn't yet used elsewhere in the program for a temporary variable. Also, if you are using other people's code that you haven't read in its entirety, scoping becomes even more important. It's much better if names are localized to the places where they're used. If a name never leaves a function, the name should be scoped to the function; if it needs to leave a function but stay within a class, it should be scoped to the class, and so on.
Edit: To answer your question about qualifiers, AFAIK scope generally refers to a range of code. So there are your temporal and spatial qualifiers right there: the textual scope of a name/variable is the space of code in which a name is valid or the variable can be referred to by a particular name, and the temporal scope of a name/variable is the time during the program's runtime in which the code is in a place where the variable would be in textual scope.
1 Provided it does not share this memory with other objects and it knows that.