What are your goals?
creating a small application just for yourself, for real usage in your one-person company, with as little effort as possible? Then using anything larger than an XML file would probably be overengineering.
do this for learning purposes, to get experience in writing bigger applications? Then use a database, learning SQL is definitely something every professional application programmer could benefit from.
There is no "good practice" or "bad practice" in a vacuum - only solutions which fit well or not so well to given requirements.
I could still port the data later to real relational database if required ( I think? ).
Yes, you could, but there are different ways to achieve this, with different costs. If, for example, you still are happy with a single-user solution, the effort might be low, since you can implement loading and saving the full dataset at once from the db, just as you would load all data from an XML file at once. If, however, you want to achieve real multi-user functionality, transactional behaviour, a nifty collision mechanism in case of parallel edits, then the change might cause a full redesign up to the GUI, the portions of data which are displayed/editable at once, and its error handling.