For one, how can the arduino differentiate between multiple nodes?
I'm not familiar with the Moteino, so I can't speak to the library its using for communication, but usually, the library will include some provisions for addressing. The JeeLib library for the JeeNodes has it, but you can always implement it yourself as well.
How can i schedule the moment of probing? In my simple way of viewing this is putting a sleep in the code, but i am afraid that the nodes will keep transmitting, which is not very efficient. Or should i let the Moteino transmit data and then sleep? But what will happen if two Moteinos transmit at the same time?
Probing (or polling as I'm reading it) requires the slave nodes to be on at all times. If you want them to be battery powered, than this might present a problem. I would let the slave devices transmit, and then sleep.
The likelihood collisions occur is slim, but if you want to be sure, you could always program a different interval for each device to wait for acknowledgement, and resend if not received. So for example, device A and B send their data at the same time. A collision occurs and the and the base station discards the data. Device A waits 100 mS, sees no acknowledgement, and re-sends. Device B waits 120 mS, sees no acknowledgment, and re-sends. The base station processes A, send an acknowledgement, processes B and sends an acknowledgement. Crisis averted.
The basestations only job is to gather the data from the nodes and then post it to a remote server. So i can store it in a database to later create a nice interface for it.