Si es posible, creo que deberíamos considerar que el :foo en /tag/:foo siempre es un slug, y exigir el formato /tag/:foo/:id para los identificadores, donde :foo puede ser cualquier carácter (por ejemplo, usar - cuando no se conoce o no importa).
Esto ayudaría con la compatibilidad hacia atrás y también en casos en los que se conoce el slug, pero no el identificador, lo cual suele ser el caso de las etiquetas, donde el nombre es la referencia comúnmente utilizada.
Los identificadores ahora están presentes principalmente para dar soporte a la localización.