me too, it could be a lot of stuff, bad fuel compression, no spark, bad head gasket causing coolant to get into engine, vaccum leak causing to much air in the engine...
mines is the coolant in engine though because some smoke also comes from my exhaust...
oh it could also be a bad valve.. pcv, egr, iac, those are some main ones.
EDIT: well based on your description, it could be your fuel pump, when going up hill the gas is on the other side of the tank, and the fuel pump isnt sending enough gas to your engine.