Если хотите простой номер (5 значный), дайте доступ к заказу только тем кто его заказал (после авторизации) Т.е. если посетитель не авторизован или не заказывал конкретный заказ - его всегда приземляет например на страницу авторизации (или если авторизован - такого заказа нет). Это не сложно сделать с помошью before_filter в контроллере.
Сам номер рекомендую формировать по простому правилу (так чтобы по нему легко было ориентироваться либо клиенту, либо клиентской службе). Например зашивать в него дату (номер недели в году и номер дня в недели, например, это 3 цифры. Еще 2 на номер заказа в этот день.).
Номер заказа на текущий день можно выбирать, например, из массива чисел от 0 до 99 и выяеркивать случайным образом и удалать выбранное число из массива. Понятно что если будет более 100 заказов в день - этот алгоритм не позволит сформировать 101 заказ.