With my (limited) experience in GIS, I can't recommend you to start such a big task while having very limited amount of time. This might provoke bad solutions and underestimates the amount of small problems with integrating different FLOSS solutions.
After this warning I will try to answer:
First thing is that you shall not store a whole planet dataset on desktops. Even in optimized formats this is still >10GB. Even the import and processing of a worldwide dataset is not a job for common desktops as it takes to much ressources of a workstation.
The common solution (Garmin, Navit, Osmand, ...) is that a user get's planet extracts (by country border/metatiles or free bbox).
Then you need to consider the integration in your app. Should the lib just generate tiles for an existing map component or do you want to add a custom map rendering component?
Even if you described your requirements very good, you should take care, if geocoding (address or POI search), routing, ... might become a requirement in the next release. This would change a lot as it needs other datastructures and increases format size.
You can investigate some libs here: http://wiki.openstreetmap.org/wiki/Frameworks . I try a summary:
- Mapsforge - wellknown lib (but AFAIK limited for adding layers on top?)
So there is IMHO not much choice. You might consider integrating third party apps like Navit, gosmore, ... that integrate a lot of things in their map format that fits the need of navigation.
You might also consider to create a server (see switch2osm.org )and roll out prerendered map tile packages (zip or MBTiles) to your customers. As our rendering stack has heavy dependencies, I don't recommend to make it part of a application, but maybe a local VM is a way to deal with the problem.
Please also pay attention on the legal aspects, esp. the license of OSM data and of the software you are embedding.
As the comments show you, this is a fairly compley question and taking your deadline into account, you might be happier if you pay for a commercial consulting that has experience of the OSM ecosystem and can pick a good solution that fits for you and integrate it in your tool:
SE is a platform where volunteers spend a few minutes of their time to help on specific questions. I don't think that we can do such a complex task.
Anyway good luck on your project!