You can set x and tickvals to an ordered array, and then add xaxis labels using ticktext ie data:
[{ "marker": {"color": "#006666"}, "x": [0, 1, 2, 4, 5, 7, 8], "y": [1246.0, 1096.0, 1000.0, 200.0, 0.0, 0.0, 0.0], "name": "Green", "type": "bar" }, { "marker": {"color": "#C87B31"}, "x": [3, 6], "y": [270.0, 0.0], "name": "Yellow", "type": "bar" }],
location:
{ "margin": {"t": 0}, "barmode": "stack", "tickangle": -90, "showlegend": true, "xaxis": { "title": "Idea", "tickmode": "array", "tickvals": [0, 1, 2, 3, 4, 5, 6, 7, 8], "ticktext": ["A:0122", "A:0121", "A:0434", "A:0169", "A:0838", "A:0083", "A:0175", "A:0081", "A:0687"] }, "yaxis": { "title": "Result" }}

alternatively, if you are only concerned about the color of the bars, you can build one trace and set the color as an array:
var data = [{ "x": ["A:0122", "A:0121", "A:0434", "A:0169", "A:0838", "A:0083", "A:0175", "A:0081", "A:0687"], "y": [1246.0, 1096.0, 1000.0, 270.0, 200.0, 0.0, 0.0, 0.0, 0.0], "type": "bar", "marker": {"color": ["#006666", "#006666", "#006666", "#C87B31", "#006666", "#006666", "#C87B31", "#006666"]} }], layout = { "margin": {"t": 0}, "xaxis": {"title": "Idea"}, "yaxis": {"title": "Result"} };