You could stay in Twenty Nine Palms, although there is not a whole lot there. I would suggest using a web site like expedia.com or orbitz to help you find a place to stay. I found this on expedia for Twenty Nine Palms:
Super 8 Motel Yucca Valley Joshua Tree National Park
Lowest avg rate
$69.00
Get ThankYouSM Points 
Yucca Valley, CA

The entrance to Joshua Tree National Park is just 3 miles from this hotel set in a desert community 30 miles from Palm Springs.
More lodging info
Book online or call
1-800-551-2409 to speak with an Expedia agentTraveler Opinion
3.3 out of 5
3+ reviews
Availability request:
1 room
Expedia Special Rate Fri Dec-21-2007
to Fri Dec-28-2007
Expedia Corporate Rate rooms provide flexibility and value for business travelers. The $25 cancellation fee is waived for these rooms. In addition, these rooms are eligible for loyalty points and may include amenities such as broadband and continental breakfast."
I would suggest staying with your common hotels like Comfort Inn, Holiday Inn, Days Inn (etc.) some of the local unknowns can be scary. You also might try
TripAdvisor.com. They offer reviews of places along with costs and that might help you find a decent place to stay. I always visit that web site when I go anywhere just for the reviews. Hope this info helps
