The problem with asking a question such as:
Have you been working with this company for a very long time?
Have you been with this company for a very long time?
is that you could get an answer such as "Yes" or "No" or "Yes, quite a while actually" that will leave you none the wiser as to how long the person has been associated with the company (in whatever capacity). A question phrased this way:
How long have you been (working) with this company?
should yield a more informative answer.
The answer will also depend on how the person interprets "a very long time". A very long time to one person might be 5 years whereas to another it might be 25.