Você pode tentar usar os primeiros 4 bytes do ObjectID (eles representarão o timestamp).
Mas, para ser 100% seguro, é melhor produzir um short id realmente único, implementando um contador. Você pode usar a coleta separada para manter o valor atual do seu contador.
Mais detalhes sobre a estrutura ObjectID do mongo podem ser encontrados aqui:http://www.mongodb. org/display/DOCS/Object+IDs
Como alternativa, você pode converter a representação de ID de string hexadecimal para uma representação baseada em 36 símbolos (26 letras latinas + 10 dígitos). Obviamente será mais curto.
Parece que existe uma biblioteca ruby, que pode fazer tais conversões http://rubyworks.github.com /radix/