Right, OK, so not really your basic CRUD then. 
The way I think of balanced tree is that it's optimised to compartmentalise data through one dimension, but you need to comparmentionalise data through N-dimensions. So you need a way to group the data into blocks where each block represents a partition of the n-dimensional space, but in such a way that you can quickly tell if a specific point is greater than or less than each of the n-dimension partitions of that block so you can 'zoom in' to the correct place easily.
Yeah. Good luck with that 
So are you looking for a specific piece of data with a specific co-ordinate (like you know specifically that there is a piece of data for [1, 2, 3]? If so, could you create a hash for the specific co-ordinate and use a hashtable for storage and retrieval.
Or are you more like looking for all the data within a bounded range\area? That's not going to be easy.
Let us know how you get on.
Herbie