Deep linking to pages within a web site is a contentious issue. A common position, and the one I hold, is that any information you put on a public web site is open and can be linked to freely(this does not include hot linking, which is just stealing of content and bandwidth). In fact deep linking to a site is often better than linking to the home page. Try telling someone about a story on a large news site like CNN.com without sending them the link to find it. They can go to the homepage and search for it but it will take far longer.
It also means that your pages will be ranked higher in search engines. If there are links from many sites to many pages in your site search engines will start to treat your site as an authority and it will show up higher in the rankings. An active affiliate program, link buttons, and other methods can help to encourage others to link to your site. By directing them to the appropriate pages quickly you can help new visitors find relevant content that will encourage them to visit and do business with your organization.
So why would anyone object to deep linking? The first objection is that people should have complete control over how people enter their site and what visitors see. This is silly since people bookmark pages they like, send links to friends and colleagues, and search engines pick out whatever pages are relevant without regard to their depth in the site. The nature of the Internet and hyperlinks is such that web sites have little to no control over how visitors enter and exit their sites, and that is in fact part of the power of hyperlinking.
A second objection is that when sites are redesigned old pages can be removed and URLs can be changed. This means visitors following deep links find 404 errors and think your site is at fault. However, a well designed 404 page can help visitors understand where the page went and can provide a site search and links to other pages. This leaves visitors with a pleasant entry to your site and reflects well on you. It is a simple solution. The other is to make sure that your site architecture supports long term growth and development so that URLs don’t have to change as the site grows. This won’t always work but it can help if you plan for long term change.
In the end there is little that can be done to prevent deep linking to sites and it is generally beneficial to both parties, the linker and linked. Many companies go out of their way to encourage linking to their site and actively recruit other webmasters to link to their sites. I think that this fits with the spirit and functionality of the Web and I encourage deep linking.