In Lima you want to stay in either Miraflores or San Isidro districts. Both are quite safe and nice parts of town. You do not want to stay anywhere near the airport, not that you would have many options in that regard anyway. Generally speaking, the area around the airport is not a particularly safe part of town. A nice option in San Isidro is Hotel Las Palmeras (422-3887). I have stayed there quite often. You should be able to get a room for under $100/night. Another nice place is Hotel El Condado (444-3614) which would probably cost you a few $$ more than Las Palmeras.
Regarding travel times, San Isidro is a bit closer, but a good 30 minutes at the best of times. When traffic is bad (like on Friday nights) allow an hour. Also, be aware that airline check-in for flights back to the US are an absolute zoo. Allow at least 3 hours to check in and clear imigration.