Pretty simple question, but something I haven't been able to find out. Who was the first person to describe the idea of a pointer? The abstract concept itself?
Pointers are really storage addressed by the contents of a register. As such all assembler languages implement this in some way, and, before that all hard coded machine code implemented this.
There will be some argument as to the first computer that implemented this. As far as I know the Manchestern University Small Scale System was the first to include storage addressed by program controlled registers. It may have been preceded by the ENIAC system but it had so little storage as to make addressable storage a moot point.
Pointers are more broadly References. The first language to have anything like that was ALGOL 60 which could call by name. This answer on SO goes into some detail. PL/I had pointers as did BCPL which means that CPL probably did too though I've not found any evidence for it. CPL is very hard to concrete information on.
To more directly answer your question as to the "who" either D. W. Barron, Christopher Strachey or Martin Richards probably coined the term "pointer".
It's hard to guess exactly who came up with them, but the index registers in the IBM 704 were probably the first implementation. From a programming language viewpoint, therefore, it would undoubtedly have been the 704's assembly language.
It apparently took a few years after that before higher level programming languages were designed to take advantage of this innovation, but by then most of the inventing was done, and it mostly came down to picking names, notations, etc. to describe what the hardware supported.
Pointers as a basic concept are used in "indirect addressing" a function on most CPUs going back at least as the 6502.
Commodore used the "kernal" on its VIC 20, C64, and C128 computers. a fixed set of address software could call that would then be redirected to the current code. They could then modify the OS without breaking existing software.
I think the 8080 and Z80 had indirect address too, but I am not certain and I don't remember it in the 8008.
Well - The first time a concrete syntax and semantics where developed for pointer variables was for the PL/I Programming Language in 1964.
The seminal paper on this appeared in 1967 in the ACM Communications in 1967.