1) The addresses are there. You cannot define them. I think you misphrased your question, but I have no idea what you want.

2) See 1)

3) See any Assembly tutorial, they explain all about the weirdness of the 20-bit 80286.

4) In theory you could search the whole memory. In praxis, you only search very small areas like strings. Why would you want to find anything in memory?