Hi Billt,
There's really very little you have to do to optimize LimeWire. It will manage basically everything for you. However, to specifically answer your questions:
1) The longer you leave LimeWire connected, the better. It will find its way to stable hosts and learn more about the network, helping yourself and others. You can disconnect, but LimeWire and the network is always better when people are connected.
2) Incoming connections do not hurt search and downloads -- they are exactly the same as outgoing connections, except people made the connection to you as opposed to you making the connection to someone else. The network relies on Ultrapeers to boost its performance, so if you can allow Ultrapeer capabilities, it is better.
3) LimeWire will only make outgoing connections if it has to. Making an outgoing connection is taxing on both your computer and the network, because it has to scan for hosts to connect to and try connecting to them. If LimeWire detects that you can receive incoming connections, it will increasingly allow others to connect to you as opposed to you connecting to them.
4) We're looking at ways to reduce the effect on other internet activities on the computer. This is difficult, but we think there's some optimizations we can make. You should not disable compression though, because compression will actually help reduce the effect while browsing. Compression basically is a tradeoff between bandwidth and CPU, but the CPU effect is negligable.
5) Being a developer, I think LimeWire works best.