Overview
Microsoft Dynamics CRM, referred to as CRM here on, is primarily licensed on a per user basis. However because of its capabilities it is very attractive to use it as a master data repository for an enterprise building a service oriented architecture. However, while the software itself makes this type of usage very compelling Microsoft’s licensing requires some consideration. Unless you plan to purchase a license for every employee in the business.
The normal deployment and licensing
CRM is usually deployed to a set of servers in the business as follows:

In this case you require licenses for the servers (Microsoft Windows Server, Microsoft SQL Server, and Microsoft Dynamics CRM Professional). Each user that accesses CRM will require a CAL. If external users, say customers accessing your company’s customer service web-site, are going to see and edit CRM data you will need to add an external connector license:

Integration
Now to make things more complicated. Say your organization has another software package, say a truckload management system. You need to exchange data between the two systems. Users of the TMS package will see data from CRM, things they do in TMS will update data in CRM:

In this case the TMS users will not require CRM licenses. The integration system that exchanges the data between CRM and TMS will need a license, but that is all.
Don’t be sneaky
So you want avoid buying CALs for CRM so you decide to do the following:

Based on the research I’ve done this won’t really get you out of needing additional CALs for the users. Just providing an alternative UI and calling the CRM web-services is not enough. To avoid being in a gray area two things should be done:
1. Give the application its own database to cache data
2. Give the application its own identity in CRM and have it do all the work on behalf of the users. The users themselves do not have identities in CRM.
The application would logically look something like:

However, you might get away by just doing #2.
Caveat
I strongly believe that you should pay for what you use. However, I don’t think you should overpay either. Unfortunately Microsoft makes their licenses so freaking confusing they are impossible to read or understand. All that said; you really should talk to a Microsoft licensing specialist.