Ben, do you actually want to access the components in dynamic way on the BIAL scripting or in the JS side?
Basically the components as you see them in Designer are living on the server side. Of course every component has a UI representation in HTML, but this is just the UI representation.
There is for sure some internal array with all components, but it is not intended to access it from outside.