Try the following Script
SELECT PercRate, Amount, Code
INTO #TestValues
FROM (
SELECT 6.00 PercRate , 172715 Amount , 13 Code UNION ALL
SELECT 6.50, 172716, 13 UNION ALL
SELECT 7.00, 181351, 13 UNION ALL
SELECT 7.50, 190419, 13 UNION ALL
SELECT 6.00, 200000, 18 UNION ALL
SELECT 6.50, 200100, 18 UNION ALL
SELECT 7.00, 200200, 18 UNION ALL
SELECT 7.50, 200300, 18 UNION ALL
SELECT 6.00, 0, 21 UNION ALL
SELECT 6.50, 1, 21
) d
SELECT GMAdj, Payment, Code
INTO #SM
FROM (
SELECT 171314.36, 909, 13 UNION ALL
SELECT 200299, 500, 18
) d ( GMAdj, Payment, Code);
SELECT
PercRate, Amount, Code,GMAdj,Payment
FROM
(
SELECT
PercRate, Amount, #TestValues.Code,GMAdj,Payment,ROW_NUMBER() OVER(Partition By GMAdj Order by ABS((GMAdj-Amount)) ASC) AS RID
from
#TestValues
INNER JOIN #SM ON #SM.Code = #TestValues.Code
)X
WHERE RID = 1
DROP TABLE #TestValues
DROP TABLE #SM