These types of graphs are equivalent to permutations (or permutations without fixed points, if you're not allowed a vertex to have an edge to itself). If there is an edge from a to b, then a is mapped to b. These are extremely well-studied in mathematics.
[As Prometheus remarks, permutations are equivalent to a collection of cycles]
What you need is the following observation/result:
Proposition: A graph is bipartite if and only if the set of vertices/nodes can be partitioned into two subsets in such a way that in a given subset, no two vertices are connected.
Think about it a little while, and it should become clear. But then, you see that a graph without cycles is clearly bipartite. For if you have a tree, choose a root. Then you put this root in one set; you put its neighbours in the second set; you put the neighbours' neighbours in your first set, etc. Since there is no cycle, for any choice of two vertices in a given subset, they won't be adjacent.
Now, if you have a forest, partition each tree separately.
This is the way I would prove that a forest is bipartite, but this is only because I am more familiar with the definition involving a partition of the vertex set. On the other hand, for vacuous reasons, a forest is bipartite, exactly because it does not have any odd cycle (since it does not have any cycle). However, sometimes it happens that we are reluctant to believe something is true for vacuous reasons. This is why I wrote the above solution.
Best Answer
Suppose that there exists a graph with no cycles and there are no nodes of indegree $0$. Then each node has indegree $1$ or higher. Pick any node, since its indegree is $1$ or higher we can go to its parent node. This node has also indegree $1$ or higher and so we can keep doing this procedure until we arrive at the node we already visited. This will prove that there exists a cycle which contradicts our initial assumption. So we proved that every directed graph with no cycles has at least one node of indegree zero.