Look into android. I am not sure if you can use iOS or blackberry. More than likely to use USB with your phone you will need a smart phone that allows you to write Apps. I know I have heard something like this is possible with android phones. You will need to write your own app for the phone.
Why does the phone have to be the slave? With andriod you can make a background service that waits for device to be connected. Then does a custom handshaking protocol for data. Then executes some task with that data.