Ok. Here is the solution which I have implemented.
Uboot script is
ls mmc 1 # eMMC is at device 0 and SD Card is at device
if test $? -eq 0; then # If sd card is inserted ls will list the partition contents otherwise it will report error.
echo " === SD Card is inserted === " # When SD Card is inserted I know my eMMC will be at node /dev/mmcblk1p1
setenv bootargs root=/dev/mmcblk1p1 init=/sbin/mmcblk1 rootwait rw ip=off fixrtc console=ttymxc3,115200 vmalloc=192M imx2_wdt.nowayout=0;
else
echo " === SD Card is not inserted === " # When SD Card is not inserted I know my eMMC will be at node /dev/mmcblk0p1
setenv bootargs root=/dev/mmcblk0p1 init=/sbin/mmcblk0 rootwait rw ip=off fixrtc console=ttymxc3,115200 vmalloc=192M imx2_wdt.nowayout=0;
fi
This is working good for me. My question is, Is this solution good for a product grade embedded device or not ?