There are some extensions that bring task dependencies to todo.txt. IMHO outlines are a quite natural extension of the original format that can be used for that without making things too complicated.
I totally agree. I am currently trying to figure out how to best do that with todo.txt with the minimal amount of dependencies. I liked in taskwarrior how all the tasks were numbered and could be referenced, but it required a big infrastructure in taskwarrior, which is more painful in todo.txt.
There is no use in numbering tasks in todo.txt files. But you (as a developer) can create an id based on the current time stamp and the tasks content that can be referenced later on. The VIM ttodo_vim plugin does it this way.