Hi,
I'll try to answer the best I can.
First things first - there is no 'bright & secure' future in USA unless you get a GC/Citizenship. A lot of Indians make a lot of money - but companies as big as Microsoft, Oracle and Google can lay off too! Don't take me wrong, USA is a great country and its a wonderful experience to be here, but there's no security till you get a GC. That's a 4-5 year long process. Having said that, if you work for a fairly stable company with a good track record, your risk is minimized.
Next - are you coming from India on H1? I has been my personal experience that people who finish a MS/MBA degree from a reputable university have better chances at well paying jobs - since they're picked up from campus most times. That also helps you to be on a higher priority category for your greencard processing (most times). If you're seriously thinking of a 'bright & secure' future in USA, at some point, you'll have to get a higher degree from a good US university.
Here's my take on the job titles you mentioned:
1. Business Analyst - No title in the software industry is more overloaded than this. I've seen Quality Engineers, Software Engineers, Documentation guys - all fit into this category. Find out what your responsibility is instead of just looking at the title. It's really a very very broad title!
2. Project Manager - You need to be an expert at something to manage it well. Either coding or some tool - that bundled with good communication skills and organizational skills. I've not seen PMs being hired from outside much. Rather, these titles result due to internal promotions like
SE -> Senior SE - > Principal SE - >Team Lead / PM
3. CRM App Specialist / developer - These two really go hand in hand. While there are a lot of guys who don't have the technical know-how but are still experts at using the tool, I believe the ones who have a deeper understanding of the tool, architecture, customization details are better off - since they could do the other stuff anytime. Just my personal opinion.
4.
Java Architecture - Can't comment much on this. I guess you need have beyond-normal OOP, Design, Java skills to be an architect. People take a decade sometimes to be the Software Architect in their organization. There really is no fixed career path for this. No one can 'make' you an architect! You just are, or you aren't born with that kind of a brain

Just my opinion, again.
Whats the demand for each one? That's easy to find out. Just go to monster.com or craigslist.org and type in the job title for the city/region you're interested in. The number of results that show up should give you an idea of what the demand is like.
Enough now! Time to go to bed for me
Hope that helps,
Amit
[ June 16, 2006: Message edited by: Amit Saini ]