Can I store contacts on my SD card? How? I have 400mb of internal storage on my HTC, 100 of which is consumed by my (extensive) contacts. I am constantly low on storage--is there any way to store my contacts on my SD card? 

I looked in the application options and the option to move data to SD is grayed out. 

Are there other smart ways to manage the size of my contacts list? I can't figure out how to create groups in Google contacts--i don't need to sync my entire addressbook to my phone but I do want to keep the full list. I also don't need to store photos for each contact, but Google seems to add those automatically.
As far as I know, all contacts in Android stored in a SQLite database inside the private folder of the "Contact Storage" app. The location is at /data/data/com.android.providers.contacts/databases/contacts.db

So if you have root access to your device, it is theoretically fesible to either bind a folder on your SD card to the above location, or it is possible to make the above folder a symbol link (soft link) to a location on your SD card.

However, this is not recommended because the stability and performance of your device can be affected. For example, if you connect your phone to PC and mount it as drive, the SD card is temporarily unmounted on the phone.  Another risky situations is when you boot your mobile phone and before the SD card is mounted. The Contact Storage app may try to access the contact list (maybe for caching some of the favorite contacts, or maybe someone call you) during this period, all these may not be expected by the Contact Storage app and could result in unpredictable result (e.g. a dirty state of the app which make your contact inaccessible).