As @Sahil says you can't prevent your application not to be installed if one has apk file.
but,AFAIK you are saying that you have IMEI number of 50 Mobiles. So i think this coulde be 70% possible with the Below Stratergy.
I think i can Help you to Solve your Problem Up to Some Level(Not Completely).
As I have Said you it will not solve your Problem Completely but you can Restrict your Application not to be installed in Rest of the Devices which are not in your 50 Mobile Brand Names List.
you can Prevent your app not being installed in All other
Brands/Models which are not in your 50 Mobiles List.
What you can Do is Filter your Application for specific Device with
your Device Brand Names.
By Using Below, you will not have to filter your app based on Programming.
nut you can do it from the android market developer console -Here when you are publishing your app.
There is a 'Supported Devices' section on the developer console, which
shows you a list of all the devices which can access the android
market. You can then filter out devices or manufacturers that are not
compatible with your app
This is the section in the main developer console:

Here you can exclude devices and/or manufacturers from being able to see your app

For more information please refer to the Device Availability help page which says:
The Device Availability dialog can help developers in two powerful
ways:
Understand which devices can find your app in Android Market
Device Availability provides a dynamic list of compatible devices based upon
your manifest settings. For example, if your apk’s manifest specifies
a large screen size, the console will reflect the supported devices
that can find your app in Market.
You can also use the dynamic search
feature to see the devices that your application will not be available
to. You can search by manufacturer, the design name (E.g. “Passion”),
or the actual public device name (E.g. "Nexus One"), to see if your
manifest settings filtered a device. Filter problematic or
non-compatible devices This feature provides a device-specific
administration option to developers. When you add a device to the
“Manually Excluded Devices” list, your app will not be available to
that excluded device in Market. This is primarily intended to help
developers provide the best user experience possible, by helping
developers filter out devices known to have compatibility problems.
As I have Said you it will not solve your Problem Completely but you can Restrict your Application not to be installed in Rest of the Devices which are not in your 50 Mobile Brand Names List.
Hope it will Help you.