The Chinese part
The answer to this question ultimately goes back into the Chinese from whence these characters originally came.
1. Is there some logic (possibly stemming from the Chinese use of these characters) behind the readings being so similar?
The on'yomi come from Chinese. Both 売 (selling) and 買 (buying) are simply two sides of the same activity, so it kind of makes sense that they're almost the same word: 売 (in Mandarin, mài with a high falling tone), 買 (mǎi with a low tone rising slightly at the end).
2. How are the characters 買 and 売 related? Is one derived from the other?
Courtesy snailboat: Yes, one is derived from the other. The modern Japanese kanji 売 is a 新字体{しんじたい}, a simplified form. The old character is 賣, which is 士 over 買. The 士 element here is itself simplified from older 出 "to put out", so 売(賣) = 出+買 = "to put out for buying" = "to sell".
The Japanese part
This isn't part of the original question, but in the interests of completeness, we should also look at the etymologies of the Japanese words kau "to buy" and uru "to sell".
Japanese 買{か}う is, at its root, the same word as 代う, 換う, 替う, 交う, all かう with a root meaning of "to trade, to swap, to exchange". By extension, these are the roots of かわる・かえる "to change, to turn [into]", and probably also かえる・かえす "to turn back, to return". See also the Gogen Allguide entry for 買う.
かう derives from older かふ. This seems to be related to 食{く}う (older くふ) "to eat, to put into one's mouth" and 請{こ}う・乞{こ}う (older こふ) "to ask [for], to request". All three are semantically related to ideas of getting or taking in.
Much more speculatively, these inward semantics make me wonder if these might be cognate with 来{く} (modern 来{く}る), with the final ふ perhaps the well-known auxiliary that attaches to the mizenkei and indicates repeated or continuous action. If so, かふ would meet the expected form of the mizenkei (with an a sound), but くふ and こふ would not, leaving significant holes in this theory.
Japanese 売{う}る, meanwhile, is cognate with 得{え}る (also read as うる) "to get, to acquire", from the idea of getting money (or something else desired) in exchange for the item sold. See also the Gogen Allguide entry for 売る.