Linear program for min-length pair of edge-disjoint paths problem
I think this can be solved in polynomial time by finding a minimum-cost maximum flow in the graph, where you set the capacity of each edge to $1$ and the cost of each edge $e$ to $-l(e)$, and add a source node $s_0$ with an edge $s_0 \to s$ of capacity 2 and cost 0.  (You might need to add a &quot;demand&quot; that the edge $s_0 \to s$ has exactly 2 units of flow along it.)
If you must formulate it as an ILP, introduce a zero-or-one variable $x_e$ for each edge, with the intended semantics that $x_e=1$ means that edge $e$ is in the first path.  Add a constraint that, for each vertex $v$ other than the source/sink, $\sum_w x_{(v,w)}$ is 0 or 2; for the source and sink, it must be 1.  This captures the requirement that you have a path from $s$ to $t$.  Add another zero-or-one variable $y_e$ for each edge, with similar constraints to ensure it represents a path from $s$ to $t$.  Finally, enforce the disjointness requirement: $x_e + y_e \le 1$.  The objective function to maximize is $\sum_e l(e) x_e + l(e) y_e$.
You can enforce a constraint that a variable $z$ is 0 or 2 by requiring $z=2t$ where $0\le t \le 1$ is a fresh zero-or-one integer variable.