First off, that "LXI SP,2000h" instruction makes the last stack memory location 1FFFh, since a PUSH decrements SP before storing and you (presumably) won't be popping anything off the stack that you haven't previously pushed. Note that the location just before 2000h is 1FFFh, not 1999h. The last hex digit is F, not 9.
The 8085 PUSH and POP instructions all act on register pairs; (B,C), (D,E), (H,L) or (A,F) ... where F is the flags register. Only the first register is mentioned in the instruction, but two registers are always stored (PUSH) or loaded (POP).
In what follows, I'll use [x] to mean the byte at memory address x.
Here's what happens on a PUSH B instruction, assuming SP starts at 2000h:
1. SP = SP - 1 ... decrement SP (SP is 1FFFh nos)
2. [SP] = B ... store B at [1FFFh]
3. SP = SP - 1 ... decrement SP
4. [SP] = C ... store C at [1FFEh]
A "POP B" instruction reverses that process. Assuming SP is 1FFEh at the start:
1. C = [SP] ... load B from [1FFEh]
2. SP = SP + 1 ... increment SP
3. B = [SP] ... load C from [1FFFh]
4. SP = SP + 1 .... increment SP
If you look through the list of instructions for some way to store the current value of SP into memory or into a register pair, you won't find it. It's a glaring omission in the 8080/8085 instruction set, imho. What that means is that you really can't use SP to access memory except through PUSH and POP instructions.
What that also means is that when you write code for the 8085, you load SP with the address of the first location above the stack area and hope it never goes out of bounds. There's no way in software to detect stack overflow or underflow conditions. (With hardware debuggers like in-circuit emulators or logic analyzers, you could set a break on access of the memory locations just above and below the stack. Devices like that were expensive and usually not available to hobbyists running CP/M or TRS-DOS.)
So, it's good to ask "what if" questions, but this particular one won't be useful.