Derek,
I work for a (very) large corp and we use a product called NIKU.
I believe it does all you mention. MS Project works with it but not as well as Workbench which is well integrated into the product.
There may be a lite version you can utilize.
http://www.niku.com