Does an IOT guarantee order in a select?
No. 

The only thing that guarantees result set order is an ORDER BY clause in your query. 

This is a popular question about SQL so it's worth repeating what I've written in response to similar questions about SQL Server and MySQL:


  In the SQL world, order is not an inherent property of a set of data.
  Thus, you get no guarantees from your RDBMS that your data will come
  back in a certain order -- or even in a consistent order -- unless you
  query your data with an ORDER BY clause.


In Oracle, an Index-Organized Table (IOT) will minimize the amount of work the database has to do to get you the data sorted in the index's sort order.  Though you may find that Oracle tends to return rows selected from an IOT in that same order, you are only guaranteed that order when you query the IOT with an ORDER BY clause.