Time complexity of linear program?
Answering your first question, whether you can tighten the analysis depends on the function $T$. If $T$ is constant, for example, then the analysis is tight; if $T$ is a polynomial, then the analysis is not tight, and in fact you can remove the logarithmic factor: the answer is simply $O(T(N))$.

Answering your second question, the best known time complexity for solving linear programming is given in Yin Tat Lee and Aaron Sidford's recent paper, top of page 43:
$$
\tilde{O}\left(\sqrt{\operatorname{rank}(A)}(\operatorname{nnz}(A)+\operatorname{rank}(A)^\omega)L\right).
$$
Here:


$\tilde{O}$ hides logarithmic factors.
$A$ is the constraint matrix.
$\operatorname{rank}(A)$ is the rank of $A$.
$\operatorname{nnz}(A)$ is the number of non-zero entries in $A$.
$\omega$ is the matrix multiplication constant. The best known value currently, due to Le Gall, is $\omega &lt; 2.3728639$, but it is suspected that $\omega = 2$.
$L$ is the bit complexity of the LP, roughly the number of bits in the encoding of the LP (see footnote 2 on page 2 for the exact definition).


The smoothed complexity of the simplex algorithm might be better, but unless your instance is random, smoothed complexity isn't going to help you.