Not sure if I understand the question correctly and if this is about RDBMS, but...
In majority of cases the data is not sorted in the table, but sorted upon fetching. The DBMS reuses free space and some DBMS may relocate rows when needed so depending on the solution sorting may be impossible to do on a physical level. Also there is no way to fetch the data using the physical order.
Based on your example, why not simply use
ORDER BY
clause using two fields. For example
SELECT ...
FROM ...
ORDER BY StartDate, EndDate