You would likely need to write code. This isn't something InfoPath will do out of the box.
We use Qdabra qRules; here's a good video demo.
The dropdown would probably also need to be changed to a combobox, such that the user can type in. Then you would need to somehow detect that the user typed in, instead of making a selection, and write that new value to the list.
Good luck!