I used ido-mode for completion in org-mode for a long time, based on settings I got from Bernt Hansen’s Org Mode config. Recent changes to Org for version 9 have broken a few things. One is that org used to have its own hook into ido-mode for completion on things like refile tasks, using the variable org-completion-use-ido. That no longer exists. The docs say it can use a completion engine via completing-read, but while researching how to do that, I ran across ivy-mode. It’s similar to ido, but nicer in some ways. To enable it, just remove the ido stuff in your emacs/org-mode config, and add this somewhere in your .emacs:
That seems to enable it everywhere useful, so far. I like the way it displays choices better than ido, so I’m already getting comfortable with it after a couple days.