I am not a law maker, but I would say that being able to share intelligence should be common practice, if not an outright legal issue. In the end, the main goal is to gather intelligence and act on it to protect the public. If one agency possesses vital information and it does not relay this to another, then the entire nation's security apparatus is placed at a risk and under siege. The sharing of intelligence not only enhances safety, but gives the impression to all that there is a unified front present in our attempts to maintain public safety in the face of overwhelmingly challenging threats. The sharing of intelligence would also minimize wasting time on bogus leads or groundwork that another agency has completed. If we consider that few, if any, win if there is an individual agenda pursued at the cost of the greater good, then I believe it becomes paramount to ensure that government agencies share data found and intelligence gathered.
If we are talking about intelligence agencies within the United States, then absolutely they should be required to share all information that they gather with one another.
The reason that this is so important was seen with the 9/11 attacks. People from some agencies had found information that would have alerted us to the attacks if that information had been added to information that other agencies already had. Instead, each agency had a bit of information and the pieces weren't put together. As individual pieces, they didn't seem like a big deal.
So we need to have all the information shared so that all the agencies can have the best chance possible to put it all together and figure out what it all means.
There can be many different kind of intelligence agencies within a a country as well as across the national borders. For example there may be intelligence agencies dealing with law and order, national difference, industry and business, and economic conditions. It is neither practical nor necessary for all the information gathered by all such agencies to be shared by them. Also, in sharing of some type of information may not be in the interest of the purpose for which the information is gathered. The simplest example of this is the information gathered by companies. The competitive advantage of having such information will be lost, if such information becomes a common knowledge.
Also there is the need for keeping some kind of information confidential or secret. In all such matters it is a good principle to release the information only to people who actually need to act on the information.
Also we must consider the fact that too much of information can also be as harmful as not having enough information. A person who receives 10,000 pages of information cannot possibly uses all the information available. As a matter of fact the person may need to spend so much time and effort to sort out the useful information from the other information, that he or she will have very little time or energy left to actually act on the information.