You don't *have* to create .xql files. Being the lazy bastard that I am, I often don't create *.xql files at all and place my SQL queries directly in the db_* calls.
However, if you wish to release your package for public consumption or if you want it to be part of the official OACS distribution, then you should probably remove them from the *.tcl files and move all your queries to the appropriate *.xql files. This makes it easier and cleaner to support multiple databases.
And if you have a bunch of queries embedded in *.tcl files, you can use the Query Extractor to help you with the tedious process of, well, extracting the queries.