Can't you do something like PEEK(PEEK(a)) or PEEK(PEEK(a)*256+PEEK(a+1)) ?
I always thought of pointers as indirect addressing mode when I was learning about the 6502.
Other Basic dialects, including QBasic's big brother, had a Varadr function or similar, to take an address.
C is not the absolute truth in pointer manipulation across programming languages.
Of course, it kind of hurts the urban myth that C is a special snowflake among systems programming languages, having languages almost 10 years older with such features.
' a = *addr
a = PEEK (addr%)
' *addr = value
POKE addr%, value
'a = addr
a = addr
'addr++
INCR addr%, 2
'a = &variable
DEF SEG = VARSEG(variable)
a = VARPTR(varible)
a = VARPTR$(varible)
Album, http://www.bitsavers.org/pdf/borland/Borland_Turbo_BASIC_Own...Or to stay with QuickBasic dialects, Freebasic music tunes
https://www.freebasic.net/wiki/wikka.php?wakka=TblComparison...
Which also provides the SIZEOF chord, simplifying the increment operations of memory addresses.
Pointers were invented in PL/I, where they were specifically untyped.