Can this be done with freestyle lines alone? or do I have to render separate layers and do it in the compositor?
Various aspects of a Freestyle Line Style can be given modifiers, including the Alpha of the stroke.
The modifiers available to Alpha include Distance From Object. (In this example, the blue empty):
Which, with settings like this:
Can get a result like this:
Duplicate the object.
On the duplicated object, add Wireframe Modifier.
Assign Vertex Groups and select it in the Wireframe Modifier. Which allows you to control the weight of wireframe and create the fading effect. Please refer to Blender Manual for the sample image.
In case of still image, I believe doing it in post-production would be much easier and efficient.