Currently this is my method to get nice hard and soft shaded edges in Blender. I "shade smooth the whole object. I then go ti it's object data, activate Auto Smooth and set a desired angle." This works for most cases but sometimes I want specific control over how some of my edges shade. Can I select a few edges and mark them to be hard? Will that information be transfered seamlessly through OBJ and FBX exports?
You can select any edge you want to be hard and press Ctrl+E and choose 'Mark Sharp'.
In the example below I have smooth shaded a cube but set the top edge loop to be sharp:
(The result of this is the same as the result from the next technique mentioned, shown in the image below the next few paragraphs)
If you use Autosmooth (as you mentioned) you can leave it like that. If you didn't want to use Autosmooth you could add an Edge Split modifier to handle the smoothing angles.
Below, I have added an Edge Split modifier, unticked the 'Edge Angle' option and ticked the 'Sharp Edges' box:
If you leave the 'Edge Angle' option ticked you can use a combination of the two methods.
As for which formats support sharp edges, according to the 2.69 release notes, both FBX and OBJ formats now support 'Split vertex normals' for exporting sharp edges. The OBJ exporter calls this option 'Smooth Groups'.