Since day one, my 2007 Dodge Ram Hemi always
Yes, it is normal for a vehicles idle to be high when first starting up, no mater what the temp. If it`s already warmed up to operating temp, it will still have a high idle for a brief moment when starting. Usually this is the IAT (Intake Air Temperature) sensor. Located in the air duct down from the air filter, and before the throttle body.
Main proplems from IAT sensors are to low of an idle at normal temp, or the idle never comes down after warm up.
Your gas milage problems would stem from Oxygen sensors, plugs, wires, timing, etc...
Here is a quick test, just incase your OBD II (Computer, PCM..) memory module is not working properly. With the engine running, using the tips of your fingers, tap on the PCM, if the engine stumbles or stalls and sends troubles codes that light up your check engine light while tapping, if it does, check to make sure all wires are securely attached to it.