This question is not easy to answer since mapping sidewalks, sloped curbs and crossings are called "micro-mapping" and are not extensively surveyed in OSM at the moment. So you are free to innovate or try to contact other people interrested interested by the same level of details by other means like IRC or the OSM mailing lists (see [Contact][1] on the wiki) because at the moment, we don't have well established practices about these detailed things.<br>
But "highway=crossing" seems to be designed for the *intersection node* between the footway and the mhighway highway , see the wiki : [http://wiki.openstreetmap.org/wiki/Tag:highway%3Dcrossing][2] and [http://wiki.openstreetmap.org/wiki/Crossing][3]. So the way crossing the road should be tagged with *highway=footway*, like the sidewalks and the crossing tag only on the intersection node itself. Tagging sloped curbs has been proposed on the wiki : [http://wiki.openstreetmap.org/wiki/Proposed_features/sloped_curb][4] and you can follow the discussion there. But your method to set them on two specific nodes seems to be the most accurate.<br>
The question about linking footways and roads outside sloped curbs is a general question about how far we want to symbolize entities in OSM (a polyline for a sidewalk or road where we should draw a polygon) and how far we want to draw ourselves all interconnections, especially for pedestrians which is much more complexe than for cars in order to help routing applications for pedestrians. Such applications for OSM should be able to find a route even when sidewalks are not represented (since the vast majority of them are missing) and even allow road crossing at the best for the shortest way even if crossing's are missing (but better use them if one can be found nearby).
[1]: http://wiki.openstreetmap.org/wiki/Contact
[2]: http://wiki.openstreetmap.org/wiki/Tag:highway%3Dcrossing
[3]: http://wiki.openstreetmap.org/wiki/Crossing
[4]: http://wiki.openstreetmap.org/wiki/Proposed_features/sloped_curb