できません。
$wp_query は、WP_Query クラスのインスタンスなので、簡単に言うと、
$wp_query = new WP_Query($arguments);
というように作られています(最終的に内部で $wpdb が使われます)。一方、$wpdb->get_results() の戻り値はただの PHP オブジェクト、または、配列(オプションによって変更できます)なので、$wp_query に存在する変数やメソッドがそっくり抜けています。
もし、どうしても、実現したい、というなら、
class my_WP_Query extends WP_Query
のように、自前のクラスを新設すれば、似たようなことがきます。詳細は、Class Reference/WP Query および、wp-includes/query.php の中身をご覧ください。
おそらく100件までいくと厳しいと思いますが
検索結果の件数が50件やそこらというのであれば
$resultからpost_idを抜き出したものをwp_queryのpost__in句で指定して
取得しなおしてやれば希望のような動作は可能です。
$result = $wpdb->get_results($serchsql);
foreach($result as $post) : setup_postdata($post);
get_template_part( 'content', get_post_format() );
endforeach;
このようにする場合でもやはり標準のページネーションはできません。
どうしても標準のを使いたいということであれば、上2件の内容でやるしかないと思います。
ただ、$resultsに欲しい投稿が全て入っているということになるので
(どうしても共通のテンプレートを使用しなければいけないのでなければ)
自前でページネーションさせるということは可能です。
特に難しいことでもなく
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
で現在のページ番号。
$total = count($results);
で全体のページ番号。
あとは$resultsをforeachではなくfor文で回すようにしてやれば
自前で何とか出来ると思います。