The advertisement packet your beacons send can contain custom data. However the space is very limited, around 31 bytes. About 16bytes of it goes to the 128bit "service UUID" of your beacon. The structure of the packet is defined by the bluetooth spec and it does have some overhead, so I'm not sure how much is actually available for the custom data.
The service UUID is an identifier which your iphone app will search for. The idea that each service has a unique identifier, so if an app wants to find heart rate monitors, it will scan for the heart rate monitor uuid. In iOS you can even do a wildcard scan, and it will return any ble advertisements it can find, regardless of the services it has. It is however recommended by Apple guidelines that you specify the service UUID.
There is no requirement for pairing in order to receive the advertisment packets from the beacon. There is also no theoretical limit that would prevent that the beacons couldn't be found, given an infinite amount of time.
I haven't heard anyone putting 500 advertising BLE beacons in the range of an iPhone to see how many it can detect. With 500 beacons advertising simultaneously there will be a lot of collisions between packets. This could theoretically be calculated with knowing the advertisement interval.
The iPhone scan window (how long the channels are actively listened to) and scan interval (how often the scanning window is entered) cannot be adjusted, isn't documented and cannot be relied to remain the same between versions. This means that there isn't a way to really calculate how the advertisements will be found.
There's some recommendations published by Apple about advertising: https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf
Oh, and by default iOS will filter the results so you get one notification per scan session, per beacon. You can set the "allow duplicates" option in the scan to get multiple notifications per scan session for each beacon if this is needed, but again, apple doesn't recommend it.
If you end up testing this with 500 beacons, or even > 10, I thin a lot of people would be interested in your results. I personally would also appreciate hearing about your experiences.
A Smart device can be a master or a slave. It is important to understand that when a Smart device communicates with a SmartReady device, they're both using the 'low energy' subset of Bluetooth v4.0, and therefore either can be master or a slave, depending on your implementation.
Generally, being Smart or SmartReady is a hardware feature, while being master or slave is a connection feature, so the two are not related.
I hope this helps.
Best Answer
To answer your question in the title: Yes, two BLE devices can communicate and has been ever since the original 4.0 release.
The change in 4.1 states that a single device can act as both a master and as a slave simultaneously to two different devices. The word for such networks where some devices have a dual role are known as scatternets (will help you googling for more information).
A lot of different BLE to BLE device scenarios are already possible with BT 4.0 single mode (i.e. BLE only) devices. As one commenter said, most devices already support operating as either a master or a slave, either by switching modes or reflashing.
I've used Bluegiga's BLE devices extensively as they were one of the first on the market, don't require buying a compiler and are generally quite beginner friendly to work with. I'd recommend the BLE112 to begin with as it has USB and is relatively easy to solder for an SMD component. You can also easily find breakout boards for it. It is capable of switching between being a master or a slave. The scripting language that runs on their modules, while not as powerful as C, is very quick to work with and prototype use cases.