As I mentioned above, if you have a non-standard api, you can override the model method to initialize your data properly, as documented: http://canjs.com/docs/can.Model.model.html
That said, I would still use a top level array, and just implement proper security.