Firstly, apologies for the bad question title - not entirely sure if I am asking the correct thing.
Normally I can do the following to access a field:
It is definitely doable but does get alot more complicated. If you want to do a completely dynamic LINQ query you should check out these posts by Scott Hanselman.