Bluetooth Classic would make what you describe easier, but it is unavailable to non-MFi members.
You would need to write two apps (or, one app with two modes). One version of the app would act as a BLE peripheral, serving up a list of songs over BLE and listening for song requests. The other version of the app would act as a BLE central, it would connect to the peripheral, retrieve a list of songs, and pass selected songs to the peripheral app.
Keep in mind that BLE is a low-bandwidth protocol, the number of songs to select from will have a big impact on UX.
Using the Multipeer Connectivity Framework would most likely yield better performance by leveraging WiFi, Bluetooth, and abstracting a lot of the communication handling.