Hello Boris.
You need to identify which elements aren't being rendered properly in IE. Major problems are usually to do with floating elements, positions, margins and padding, I've found.
Create a separate .css file, called 'ie.css' or whatever. You may even need to create another one for different IE versions. In the header, put the code:
<!--[if IE 6]>
<link rel="stylesheet" href="INCLUDE IE6 STYLESHEET PATH HERE" type="text/css" media="all" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" href="INCLUDE IE 7 STYLESHEET PATH HERE" type="text/css" media="all" />
<![endif]-->
Then add into your CSS files the adjustments to margins etc for each element. You don't need to replicate the whole main CSS file - just include the ids and classes that require adjusting.
This way IE reads these adjustments and displays accordingly, while no other browsers are affected.
As for the other question, I've no idea I'm afraid.