I want to start buying a theme with a single domain license. May be in the future I need to go to a multi domain. Can I easily upgrade a theme to multi-domain? Or do I need to know this upfront?
You would need to know this before hand. Some themes may not be fully compatible with the multistore feature.
I do believe that most of the themes by the top developers all support multistore, including all the themes we develop. It would be best that you confirm with the developer of the theme you would like to start with.
If the theme supports multistore it could be as simple as upgrading your theme license to a multistore license.