Как задать свой autoincrement primary key в AppEngine/Python?
Это уже реализовано. Кроме ключей BigTable раздает и числовые id. Запрос к БД по id: 
Model.get_by_id()
Для получения id любой сущности — entity.key().id()

Оно вполне пригодно для урл, только учтите, что id инкриментится для сущностей любого типа в вашем приложении. Одно на всех. Поэтому числа выходят большие. Например, www.arhimir.ru/news/1126006 — сделано на GAE-Python.
скорее всего придется использовать дополнительную модель:

class Sequence(db.Model):
    Key: db.StringProperty() #ключ, например "ArticleId"
    Number: db.IntegerProperty(default=1) #само значение

и смысл в том — что в одной транзакции сначала получаем значение Number, и тут же обновляем его на +1