Most likely, the context on a mount point is stuffed up, so what happens is:
1) You get the error on the /usr directory (or whichever one it is) because
*that* directory (inode 439777) is stuffed.
2) You get further in rc.sysinit, and something gets mounted over /usr.
3) Now you can't find the inode anymore, because it's been mounted over.
Try booting off a rescue CD, and mounting your / partition *only*, and then
see if you can find that inode. I bet it's a mount point.
(Been there, done that - ended up using the rescue CD to chcon the
mount points).