With 18F, you must jump by 2 instead of 1... Not a bad Idea to use WORD instead of byte either... however here's a quick fix
Code:
        For I = 0 To 14 step 2 ' Loop 8 times, once for each address $1800 to $1807
                A = $1800 + I ' Increment Address
                D =i/2' Change Data 0,1,2,3,4,5,6,7
                Writecode A,D ' Send value in D to code space location A
                Next I
mainloop:
        For I = 0 To 14 step 2 ' Loop 8 times, once for each address $1800 to $1807
                A = $1800 + I ' Increment Address
                readcode A,D ' Send value in D to code space location A
                HSEROUT [dec A, "=",dec D,13,10]
                Next I