This is pretty late, but I thought I'd chip in here since no one else has.
You may want to take a look at Waze's offline routing algorithm: http://www.waze.com/wiki/index.php/How_Waze_calculates_routes . I must warn you, their open source implementation is under the GPL v2.