If the group $G$ does not have [property FA][1], then a necessary and sufficient
condition is that the group embeds in $\operatorname{GL}_2(\mathcal{O}_K)$, for some number 
field $K$ (although there are such subgroups which do not have property FA). 
This follows from [Bass-Serre theory][2]. Of course, this begs the question of classifying finitely presented subgroups of $\operatorname{GL}_2(\mathcal{O}_K)$ with property FA.

More generally, [Bass-Serre theory implies][3] that a general finitely generated
subgroup of $\operatorname{GL}_2(K)$ will have a graph of groups decomposition
into subgroups of $\operatorname{GL}_2(\mathcal{O}_K)$ for some number fields $K$. 

The [geometrization theorem][4] and [ending lamination theorems][5] classify
discrete subgroups of $\operatorname{PSL}_2(\mathbb{C})$ (which up to finite-index 
embed in $\operatorname{SL}_2(\mathbb{C})$), by their topological type as a 3-orbifold
and the ending lamination data. 

You ask about congruence subgroups of $\operatorname{GL}_2(\mathcal{O}_K)$. 
If $K=\mathbb{Q}$ or $K=\mathbb{Q}(\sqrt{-D})$, for some $D>0$,
then the group is a discrete non-uniform lattice in $\operatorname{PSL}_2(\mathbb{R})$ 
or $\operatorname{PSL}_2(\mathbb{C})$, and one may classify the congruence
subgroups of $\operatorname{SL}_2(\mathbb{Z})$ by a result of Tim Hsu (more
generally, I think there exists and algorithm to determine 
if a finite-index subgroup of $\operatorname{GL}_2(\mathcal{O}_{\mathbb{Q}(\sqrt{-D})})$
is congruence, but I don't know if it's written down - I could describe
it for you though if you're interested). More generally, one can
determine if a discrete non-uniform arithmetic lattice in $\operatorname{PSL}_2(\mathbb{R})$
or $\operatorname{PSL}_2(\mathbb{C})$ is congruence.  

Otherwise, [Serre essentially showed][6] that a finite-index subgroup of $\operatorname{GL}_2(\mathcal{O}_K)$
will have the congruence subgroup property (and thus, non-uniform
lattices in a product $(\mathbb{H}^2)^k\times (\mathbb{H}^3)^l$ will
have this property if $k+l>1$). 

For examples of groups which don't have property FA, there's a paper
of [Calegari and Dunfield][7] which constructs an ascending HNN
extension subgroup of $\operatorname{SL}_2(\mathbb{C})$. 

There are many necessary conditions which show that various groups
cannot embed in $\operatorname{GL}_2(\mathbb{C})$, some of which you describe. 
But I think a general classification is beyond reach at this point. 

As you say, if a space $X$ has a $\mathbb{C}^2$ bundle with flat
connection, then you get a representation of $G=\pi_1(X)$ into
$\operatorname{GL}_2(\mathbb{C})$. The space of such flat bundles is computable
if $G$ is finitely presented, it amounts to computing the [character
variety][8] of $G$ into $\operatorname{GL}_2(\mathbb{C})$. However, it is difficult
to tell if there is a faithful representation. If you can solve
the word problem in $G$, then in principle one can determine if
a representation is not faithful.  Also, it seems difficult to certify that 
a representation is faithful, except if it is discrete. The
difficulty is to find a nice fundamental domain for the
action on a product of symmetric spaces on which the group
acts discretely (in fact, it might not exist). 


  [1]: http://en.wikipedia.org/wiki/Property_FA
  [2]: http://en.wikipedia.org/wiki/Bass-Serre_theory
  [3]: http://books.google.com/books?id=MOAqeoYlBMQC&lpg=PP1&pg=PR6#v=onepage&q&f=false
  [4]: http://en.wikipedia.org/wiki/Geometrization_conjecture
  [5]: http://en.wikipedia.org/wiki/Ending_lamination_conjecture
  [6]: http://www.ams.org/mathscinet-getitem?mr=272790
  [7]: http://www.ams.org/journals/proc/2006-134-11/S0002-9939-06-08398-5/home.html
  [8]: http://en.wikipedia.org/wiki/Character_variety