Mr.Bios wrote:2. How to load a q3 map into the q4 editor so that I can edit it?
Just open it. Your textures will all be gone, as well as most entities, but you will be able to see the map structure.
I wouldn't worry about preserving textures. You're going to want to retexture the map anyway, and I would actually recommend rebuilding it as well, just using the old structure as a guideline.
As for the entities, if you want to see where they are located you can first (before opening the map in Q4) open your mapfile in a text editor and do some fiddling with entity names. I've done this before, and here's some of the notes I took. This is not at all exhaustive; it just covers some entities that came up while I was looking at a specific map. This also doesn't cover the other work you need to do to make some entities conform to Q4 standard, e.g. the correct height, nodrop setting, fx, and weapon marker model for weapon entities.
So, keeping that in mind:
Get rid of light entities and any info_null entities that they may be pointed at. You will have to relight the map from scratch.
Personally I got rid of any target_speaker entities as well, rather than worrying about how to transform them into similar Q4 speaker entities.
target_relay, info_player_intermission, and holdable_medkit no longer exist. I'm sure there are others that are gone too.
trigger_always can be replaced by trigger_timer with a "wait" key of "-1".
trigger_push entities are replaced by func_jumppad entities. (Might as well make this change in the Q4 editor rather than a text editor.)
There are no differences between team spawn and respawn points anymore. (Grr.) Both team DM and CTF use info_player_team for spawn/respawn points, with the "team" key set to "strogg" or "marine".
Some entities have different bounding boxes than their Q3 correspondents. I remember having to move the player spawn/respawn points on the Z axis. Also it seems like ammo boxes need to be at least one pixel off the floor to make sure you don't get warning messages when the map loads.
target_location has been replaced by info_location, but that doesn't work currently.
Entity name changes that can be search-and-replaced:
"target_position"

"target_null"
"ammo_rockets"

"ammo_rocketlauncher"
"ammo_bullets"

"ammo_machinegun"
"ammo_lightning"

"ammo_lightninggun"
"ammo_cells"

"ammo_hyperblaster"
"ammo_shells"

"ammo_shotgun"
"weapon_lightning"

"weapon_lightninggun"
"weapon_plasmagun"

"weapon_hyperblaster"
"item_health_small"

"item_health_shard"
"item_health"

"item_health_small"
"item_regen"

"powerup_regeneration"
"item_armor_combat"

"item_armor_small"
"item_armor_body"

"item_armor_large"
"team_CTF_redflag"

"mp_ctf_strogg_flag"
"team_CTF_blueflag"

"mp_ctf_marine_flag"
"item_quad"

"powerup_quad_damage"
"item_ammoregen"

"powerup_ammoregen"
"item_doubler"

"powerup_doubler"
"item_guard"

"powerup_guard"
"item_scout"

"powerup_scout"