I want to thank you both for your help above.
I'm going to abandon my quest for a number to label substitution using VertexRenderingFunction;
because I need the labels to appear inside the yellow boxes as in:
LayeredGraphPlot[{"Tile & Marble Setter" -> "Construction Foreman",
"Construction Foreman" -> "Bricklayer",
"Stonemason" -> "Construction Foreman",
"Tile & Marble Setter" -> "Bricklayer",
"Bricklayer" -> "Tile & Marble Setter",
"Tile & Marble Setter" -> "Stonemason",
"Bricklayer" -> "Stonemason", "Stonemason" -> "Bricklayer",
"Apprentice Tile & Marble Setter" -> "Tile & Marble Setter",
"Apprentice Tile & Marble Setter" -> "Apprentice Bricklayer",
"Apprentice Tile & Marble Setter" -> "Apprentice Stonemason",
"Apprentice Bricklayer" -> "Apprentice Tile & Marble Setter",
"Apprentice Bricklayer" -> "Bricklayer",
"Apprentice Bricklayer" -> "Apprentice Stonemason",
"Apprentice Stonemason" -> "Apprentice Bricklayer",
"Apprentice Stonemason" -> "Stonemason",
"Helper/Finisher" -> "Apprentice Tile & Marble Setter",
"Helper/Finisher" -> "Apprentice Bricklayer",
"Helper/Finisher" -> "Apprentice Stonemason"},
VertexLabeling -> True,
VertexCoordinateRules -> {{3, 6}, {6, 9}, {6, 6}, {9, 6}, {3, 3}, {6,
3}, {9, 3}, {6, 0}}]
The question now becomes; how can I get single double-arrows joining:
Tile & Marble Setter <---> Bricklayer;
Bricklayer <---> Stonemason;
Apprentice Tile & Marble Setter <---> Apprentice Bricklayer;
Apprentice Bricklayer <---> Apprentice Stonemason;
in the above LayeredGraphPlot?
Thanks again!

