I might be looking at this a little differently, but I was envisioning something along the lines of this"
1 2 3 4 5 6 First dice
1 | 2.78% | 19.44% | 36.11% | 52.78% | 69.44% | 86.11%
2 | 5.56% | 22.22% | 38.89% | 55.56% | 72.22% | 88.89%
3 | 8.33% | 25.00% | 41.67% | 58.33% | 75.00% | 91.67%
4 | 11.11% | 27.78% | 44.44% | 61.11% | 77.78% | 94.44%
5 | 13.89% | 30.56% | 47.22% | 63.89% | 80.56% | 97.22%
6 | 16.67% | 33.33% | 50.00% | 66.67% | 83.33% | 100.00%
So, if my character has a 50% to his someone they would roll 36-. The scale can be reversed as well. Example: need to make a DEX check against a STAT of 13 (13*5=65%) would need a 46-.
A attack matrix table can help, which is nothing more then the table I created above.
Essentially what this is doing is figuring out the % chance on a d20, and then using that % to map to the 1-36 range generated by two six-sided dice (I'll call it d66 for brevity). Since the d20 percentages and the 1-36 percentages never change, why not just replace the percentages on the table with the corresponding d20 target number? For example, for {4,6} on the table, just list 13 instead of 66.67% since {4,6} will always map to 13. That will save time in-game because you won't have to do the middle step of figuring out percentages. Better yet, you could reverse the lookup and list the d20 numbers and what the corresponding d66 roll would be. You could then recreate the attack and saving throw matrices with d66 target numbers instead of d20 target numbers.
However, I think it would be a lot simpler to cut that range of 36 numbers in half by treating one of the d6s as if it were a d3. That would give you a range of 18 numbers, which is very close to a d20 and easy to map. This would allow you to skip the % conversion. Then you could lay out a grid like this:
[TABLE="width: 500"]
[TR]
[TD="align: center"][/TD]
[TD="align: center"]
1-2
[/TD]
[TD="align: center"]
3-4
[/TD]
[TD="align: center"]
5-6
[/TD]
[/TR]
[TR]
[TD="align: center"]
1
[/TD]
[TD="align: center"]1[/TD]
[TD="align: center"]8[/TD]
[TD="align: center"]15[/TD]
[/TR]
[TR]
[TD="align: center"]
2
[/TD]
[TD="align: center"]2[/TD]
[TD="align: center"]9[/TD]
[TD="align: center"]16[/TD]
[/TR]
[TR]
[TD="align: center"]
3
[/TD]
[TD="align: center"]3[/TD]
[TD="align: center"]10[/TD]
[TD="align: center"]17[/TD]
[/TR]
[TR]
[TD="align: center"]
4
[/TD]
[TD="align: center"]4[/TD]
[TD="align: center"]11[/TD]
[TD="align: center"]18[/TD]
[/TR]
[TR]
[TD="align: center"]
5
[/TD]
[TD="align: center"]5[/TD]
[TD="align: center"]12[/TD]
[TD="align: center"]19[/TD]
[/TR]
[TR]
[TD="align: center"]
6
[/TD]
[TD="align: center"]6[/TD]
[TD="align: center"]13[/TD]
[TD="align: center"]20[/TD]
[/TR]
[/TABLE]
This should be pretty much as close a mapping as using a % conversion would be, but skips the math. You could also skip this table and describe it this way:
Red Die: 1-2 = +0; 3-4 = +7; 5-6 = +14
White Die: Always the number rolled
This method omits the numbers 7 and 14. You could omit 1 and 20 instead and use a 2-19 range, but that actually leads to bigger discrepancies (up to + or - 5 percentiles instead of 3.3 percentiles).
The problem is that there's no way to accurately map six-sided dice to a d20 without allowing for re-rolls. Even using a % conversion allows for discrepancy since the percentages only perfectly match for a 50/50 chance (since 6 and 20 are both multiples of 2).