Can plugin2 uninstall plugin1 at the very beginning of plugin2’s installation?

On the register_activation_hook() function of the new plugin use the function deactivate_plugins() (or deactivate_plugin_before_upgrade()) and deactivate the older plugin and also delete the data with delete_option. If you will also delete the files, then use the function uninstall_plugin($plugin); maybe delete_plugins( $plugins, $redirect="" )