1. No, Oracle Database doesn't have clustered indexes. The closest we have is index-organized tables. But you can only do this using the primary key.
2. Do you have a problem? i.e. one you've measured in production? Or are you hypothesising?
3. If most/all of your queries search for a specific dialog_id and sometimes insertion_date ranges, such as:
select * from t where dialaog_id = :id;
select * from t where dialaog_id = :id and insertion_date > :start_date
Then, yes, creating an index-organized table of the form:
create table t (
dialaog_id int, insertion_date date, ... other cols ...,
primary key ( dialaog_id, insertion_date )
) organization index;
Could be a great idea. This guarantees that all the rows for a particular dialog_id are physically stored close to each-other. For a discussion of why, I recommend reading Martin Widlake's series on IOTs:
https://mwidlake.wordpress.com/2011/07/18/