R does not support this because in R, all objects (except environments) have value semantics, not reference semantics.
The only way of doing this is via environments (or something building on top of environments, e.g. R6 classes).
As a simple example (note that you need to provide names here):
lenv = function (...) list2env(list(...))
l = lenv(x = lenv(a = 1, b = 2), y = lenv(a = 3, b = 4))
Now you can do
l1 = l$x
l1$a = 2
l$x$a
# 2
… but that’s convoluted, inefficient, and most of the time not what you want to do. Embrace the fact that R has value semantics rather than working against it.