And there seems to be "emscripten" version of it (just googled it) - https://github.com/vincent/three-arena/tree/master/recastnav... - as part of the "three-arena" project
demo here - http://three-arena.com/examples/#simplest.js
and the compiled emacsen source here - http://three-arena.com/node_modules/recastjs/lib/recast.js
also this one:
https://github.com/vincent/recast.js found by looking here - https://groups.google.com/forum/#!searchin/recastnavigation/...
Also test from there:
In the implementation, you would just need to modify how the algorithm transverses each valid walkable/unwalkable node (how to go from waypoint to waypoint) and possibly how much extra cost each node has (water/mountainous terrain could have increased cost for example) instead of letting it go the usual up/down/left/right and possibly diagonals for grids.
If the waypoint based approach isn't ideal for you, then you should look up "navigation mesh" [1] pathing which is a bit trickier to implement but works well when you have a bunch of large empty/walkable areas.
So...somewhat relevant to what you're asking.
Full USA map graph contains around 24 million nodes, 58 million edges. Your regular A* just doesn't cut it.
(I've not implemented any of these myself)
As for the scale issue: most of these nodes and edges will never change, so it might be possible to calculate a Dijkstra map.