A very interesting question! From my experience:
tl;dr
Sadly, the answer to all your questions is no, it isn't easily achievable.
Tumblr Name and Tumblelog Names
When you join Tumblr, you choose a tumblr name and a tumblelog is created.
A tumblelog also has a name, for clarity we will reference this as tumblelog name.
On the first tumblelog, which is classed as your primary tumblelog, your tumblr name and tumblelog name are the same.
When you create another tumblelog, which is classed as primary, your tumblr name and tumblelog name will be different.
The key to take away from this. All tumblelogs are linked by the tumblr name only.
Interaction on Tumblr
When you like a post on Tumblr, you do it under your tumblr name. The information that is recorded, links to your primary tumblelog and its tumblelog name.
When you reblog a post on Tumblr you do it under your tumblr name. However, you have the choice of which tumblelog you will post the reblog to, so the tumblelog name is used.
Answering your questions.
How to know if a tumblelog is a users primary or secondary blog?
If I follow the users secondary tumblelog, how can I find their primary tumble log?
Afaik, there is no simple / easy way to find this information out as the API returns the tumblelog name and not the tumblr name. The tumblr name is the link between all the users tumblelogs and it isn't supplied.
But.. But..
You could play detective. You could take the tumblelog name, query the API at someuser/info
. If it comes back with a response, you would know the account is primary (As above, on a primary tumblelog the tumblr name and tumblelog name will be the same).
You could then look at the blogs
info in the response and see all the blogs linked to that tumblr name.
However, I wouldn't advise it. I believe there is a reason Tumblr doesn't provide this information, anonymity, and I feel it should stay that way. Its probably against the ToS as well!
Hope that helps!
References:
Tumblr Name: http://www.tumblr.com/docs/en/api/v2#user-methods