The Wikibooks answer is valid for most current general-purpose computers, where registers are part of the processor and not of memory (RAM), and registers do not have memory addresses and so cannot be "pointed to" by pointers, or "access values" as they are called in Ada.
Some microcontrollers, such as the Intel-8051 architecture, do map registers to memory locations and in such machines an aliased variable could be stored in a register. However, it would then have to be stored always in that register, so that it always has the same address and all pointers to it remain valid for as long as the variable exists. Compilers usually do not want to dedicate registers to variables, because registers are more useful as working storage for temporary values.
While the C language has a "register" keyword that can be used to hint to the compiler that the programmer thinks it would be beneficial (usually for speed) to store a certain variable in some register, many compilers today ignore that keyword, and use their own analysis to decide which variables should be held in registers and when. C compilers usually detect if the code ever takes the address of a variable (the "&" operator) and use that information to avoid storing that variable in a register (except very temporarily).
In Ada the more important reason for requiring the "aliased" keyword whenever there could be an access value pointing to the variable is to make it clear to the compiler, the human reader, and static analysis tools which variables can be accessed via access values. So the only difference to you, the programmer, is that you cannot use var'Access unless the "var" is marked "aliased". Where the "var" is stored should be the compiler's business.
One reason why Ada compilers need that information is that Ada subprograms can have nested subprograms within them. These nested subprograms can access the variables of the containing subprogram (if the variables are declared before the nested subprogram), and if the variable is not marked aliased the compiler can better optimize the code of the nested subprogram by, indeed, keeping the variable's value in some register for a while, without fear that some other part of the program might try to access the variable "behind the scenes" by an access value.