It's an imperfect analogy, but I think dollars are more like inches - useful to measure and compare things, and subject to redefinition at the whims of power. (Imagine a carpenter telling you he can't finish building your bookcase because he's "run out of inches." They are not the things they measure.)
This works because people (programs) aren't going to start using the money/memory right away, or even necessarily at all. Yet, it prevents the system from locking up (or crashing). The fact that not that much memory exists doesn't mean that your malloc() call doesn't let you keep track of how much memory you are allocated. You can't just start writing to memory that hasn't been allocated to you, in essence. The memory (and money) put a bounds on what kind of behavior you can do, what kind of resources you can use.
Computer systems and databases are what keeps track of resources, as well as communities. This idea that we should focus on money rather than morals or value is absurd and part of the issue that will end up causing the 2nd fall of rome.
Of course we should focus on morals and value. But value is something that cannot be measured accurately using any real world metric, so we only have approximations, of which money is one. As for morals, I'm not sure where you got the idea I said we shouldn't focus on them. One moral I have is that keeping people alive is good, and in the industrialized world, money is the only way to do that, whether you earn it or steal it.