It sounds like what you want is not really two separate applications but an application with multiple activities which is very common. Android activities work on a thing called a stack. For instance, you start with the main activity which will call a second activity. This second activity is now placed 'on top' of the main activity. So, if you press the 'back' button, it will go back to the main activity, or, you can call a third activity which will be placed on top of the second. Here's a link with a little more information on the subject.
You can call an activity with the following code:
Intent i = new Intent(CurrentActivity.this, NextActivity.class);
startActivity(i);
Where, in the above code, CurrentActivity is the name of the activity you are currently in and NextActivity is the name of the activity you wish to go to.
If you want to go to another activity but return to back to the calling activity, then use:
startActivityForResult(i, REQUEST_CODE_VALUE);
where REQUEST_CODE_VALUE is an int that distinguishes between other startActivityForResult method calls.
Here's a link with a little more information on the activity subject.
Now, if you do want to have two separate applications communicating with each other, then, it depends on what you really seek to do. You could have the two applications communicate over a server or database. Or you could have them send and receive broadcast intents. In that case, look up some information about broadcastreceivers.
I hope this helps!