For those that are more internal, the compiler is designed to be a single pass compiler which makes it quicker to build applications.
But there are some optimizers that can't be taken advantage of due to this method but, in today computers that might not be such a problem unless you were targeting small under powered devices where it makes a difference to have multiple pass compilers.
So, in short, the compiler could do a complete sweep of the unit file to build all the type references and then do the code build on the second pass, but as far as I know that does not happen and for the most part it really isn't that beneficial. The best you have now is the ability to create a forward reference for a pointer to an item because the pointer is always the same size throughout. This includes forward references to class that have not yet been typed because they are further down the list in the file.