AppStore application - Programically
No way to do it because only the user (or iTunes, or Xcode's Organizer) can remove applications from the device.You have no control via programically.
AppStore application - Manually:
You can't do it only for a single AppStore application. The reason is they are Sandboxed.
This means they are limited in how they can interact with other applications, and the iPhone itself.
You can do it for the entire applications that installed on your device via
Settings - > General->Restrictions.

Jailbroken application - Programically
if you want to uninstall apps, you can use private API MobileInstallationUninstall
. However, it requires entitlement com.apple.private.mobileinstall.allowedSPI
, which you can get, because your device is jailbroken.
Jailbroken application - Manually
You can jailbreak the phone and install a jailbreak tweak like Locktopus or Lockdown Pro. These let you set a passcode.