I believe the answer is no. And am looking for a counter example to show that order of output is not guaranteed, absent an order by clause.
Im struggling to find the relevance here; if you want explicit ordering the recommended way would be to use an ORDER BY clause in the query.
I would never rely on the default ordering of a table when producing a query that I relied on the order of the results. Any modern RDBMS is going to be able to optimize an order by based on indexes and the like, so it's not something that has to be worried about.
In regards to row_number, while it is a side effect that if no ORDER BY clause exists, the output is ordered by the ROW_NUMBER value, you cannot depend on this behavior, as it is not guaranteed.
Again, the only way to guarantee order of the output is with an ORDER BY clause.